Dockerfileの主要なinstruction「FROM」「RUN」「CMD」
FROM
- ベースとなるイメージを決定する。
- DockerfileはFROMから書き始める。
RUN
- LInuxコマンドを実行する
- FROMの次の行にパッケージをインストールするRUNを書くのが一般的(長くなる場合は \ を使って改行する)
- RUN毎にLayerが作られる
Dockerfileを作っている最中はキャッシュを使うようにする。(buildの時間短縮の為)
キャッシュを使うにはRUNを細かく分ける。
最後に完成するときは全て「 \ 」などで繋げればOK。(image layerを少なくする為)
Docker imageのLayer数は最小限にすることがベストプラクティス
- &&でコマンドをつなげる
CMD
- コンテナのデフォルトのコマンドを指定
- 原則Dockerfileの最後に記述
- CMD["executable(コマンド)", "param1", "param2"]
完成形(例)
FROM ubuntu:latest RUN apt-get update && apt-get install -y \ curl \ cvs \ nginx CMD [ "/bin/bash" ]