Docker Hubには公式・非公式含め、いろいろと便利そうなイメージが、 たくさんあがっています。
docker pull
で、簡単に取得できるのはいいのですが、
これってpullし終わるまでイメージのサイズがわからないのでしょうか?
...なさそうなんで、いくつかpullしたイメージをメモ。
[2016/5/14追記] タグのページ見に行けばわかるようです。 https://hub.docker.com/r/library/redmine/tags/
イメージサイズ (pull後のdocker images
)
基本イメージ
ubuntu latest 5ba9dab47459 2 weeks ago 192.7 MB centos latest dade6cb4530a 12 days ago 210.1 MB
一般的なコマンドを一通りいれるとこれくらいなのかな。
ミドルウェア
nginx latest 4b5657a3d162 3 weeks ago 91.64 MB
100MB 切るとシンプルだなぁと思う。
Webアプリ系
Redmine
sameersbn/redmine latest 4d0b53e01808 2 weeks ago 612.9 MB
→ よく紹介されているけど、起動しなかった... 以下、フロントエンドで起動したときのログ。
$ docker run -it -p 80:80 -v /home/core/redmine/files:/redmine/files -v /home/core/redmine/mysql:/var/lib/mysql sameersbn/redmine ERROR: Please configure the database connection. Refer http://git.io/JkE-cw for more information. Cannot continue without a database. Aborting...
[2015/2/25追記]
単にDBサーバーが立ち上がってないだけでした。 公式ページを参考にMySQLサーバーのコンテナを立ち上げて、link指定したら、無事起動しました。
$ mkdir -p /opt/mysql/data $ sudo chcon -Rt svirt_sandbox_file_t /opt/mysql/data $ docker run --name=mysql -d \ -e 'DB_NAME=redmine_production' -e 'DB_USER=redmine' -e 'DB_PASS=password'\ -v /opt/mysql/data:/var/lib/mysql \ sameersbn/mysql:latest $ mkdir -p /opt/redmine/data $ sudo chcon -Rt svirt_sandbox_file_t /opt/redmine/data $ docker run --name=redmine -it --rm --link mysql:mysql \ -v /opt/redmine/data:/home/redmine/data \ sameersbn/redmine:2.6.2
Jenkins
jenkins 1.580.2 41001f44325b 6 weeks ago 661.5 MB jenkins latest 41001f44325b 6 weeks ago 661.5 MB
DevHub
ysaotome/devhub latest 96b89a8369e1 8 weeks ago 857.8 MB
→ すんなり動きました!
永続化するためのディレクトリはどこだろう...
その他
Weave
zettio/weavetools 0.9.0 6c2dd751b59c 2 weeks ago 5.138 MB zettio/weavetools latest 6c2dd751b59c 2 weeks ago 5.138 MB zettio/weave 0.9.0 efb52cb2a3b8 2 weeks ago 11.35 MB zettio/weave latest efb52cb2a3b8 2 weeks ago 11.35 MB
→ 軽い!本当に小さなバイナリ入っているだけなんだろうなぁ。 イメージの中身、goでコンパイルされたたstaticなELFがひとつと、設定ファイル?が数個あるだけのようでした。
参考サイト
- Dockerイメージのベストプラクティス
【翻訳】いいDockerイメージを構築するには? ーDockerfileのベストプラクティス | インフラ・ミドルウェア | POSTD
- サイズの削減に関する記事。
気づいたらガジェ獣: docker exportとdocker importでdockerイメージのサイズを小さくする
docker export
は、最新のスナップショットを吐き出すのに対し、docker save
は履歴情
報も保存するのですね。
正確には、コンテナ(実行状態or実行結果)を保存するのが export、イメージを保存するのが saveのようです。