カテゴリー
Apple

【Docker】nginx:latest と nginx:alpine の違いを少し整理しました

nginx:latest と nginx:alpine のバージョンは同じ?

  • 結論: 同じ
  • それぞれのバージョン(2018年7月28日時点)
    • nginx:latest: 1.15.2
    • nginx:alpine: 1.15.2

以下、調べた方法です。

$ docker run -it nginx:latest bash
root@449f25b0cd0a:/# nginx -v
nginx version: nginx/1.15.2
root@449f25b0cd0a:/# exit
$
$ docker run -it nginx:alpine sh
/ # nginx -v
nginx version: nginx/1.15.2
/ # exit
$

nginx:latest と nginx:alpine の違いは?

実際に手を動かしてみて、気がついた点を記します。

イメージのサイズが alpine の方が小さい。

  • nginx:latest: 1.15.2
  • nginx:alpine: 1.15.2
oki2a24:testdocker$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               alpine              36f3464a2197        3 days ago          18.6MB
nginx               latest              c82521676580        3 days ago          109MB

nginx:latest は bash が使えるが、 nginx:alpine は使えない

  • nginx:latest: bash も sh も使える。
  • nginx:alpine: bash は使えない、sh は使える。

Alpine Linux を使用しているイメージは、おそらくすべて bash は使えず、sh のみかと予想します。

$ docker run -it nginx:latest bash
root@9b44dd794e5c:/# exit
$
$ docker run -it nginx:latest sh
# exit
$
$
$
$ docker run -it nginx:alpine bash
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown.
$ docker run -it nginx:alpine sh
/ # exit
$

nginx:latest と nginx:alpine の使い分けは?

  • ディスク容量を抑えたいなら nginx:apline を採用すべき。
  • musl libc を使用する場合は障害が発生する可能性があるとのこと。ただし、そのようなケースは少ないそうだ。

おわりに

Docker に入門いたしました♪

学んだことをどんどん投稿していきたいです。

学んだことを一気にアウトプットしたい衝動にかられ、実際に書いてみましたけれども、ごちゃごちゃになって収拾がつかなくなる、いつものパターンに陥りつつありました><。

ですので、今回の投稿のようにできる限り小分けにして、順序にはこだわらず、アウトプットしていくよう心がけていきます。

以上ですl

コメントを残す