Open3

docker再入門

Jerome_1010Jerome_1010

CMD

👇の気になった点をまとめる
https://docs.docker.com/engine/reference/builder/#cmd

3つの書き方がある

  • CMD ["executable","param1","param2"] (exec form, 推奨)
    • exec formはjson arrayとして処理されるのでダブルクォート"を使う必要がある
    • exec formはshellとして実行されない = shellで読み込む環境変数は使えない
      • exec formでshellを実行したい場合CMD [ "sh", "-c", "echo $HOME" ]のように明示的にshellを実行すること
  • CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
  • CMD command param1 param2 (shell form)

1つのDockerfileにCMDは1つのみ記述する。もし複数回記述した場合最後のものが処理される。

Jerome_1010Jerome_1010

WORKDIR

👇の気になった点をまとめる
https://docs.docker.com/engine/reference/builder/#workdir

  • Dockerfile内のRUN, CMD, ENTRYPOINT, COPY and ADDなどのコマンドが参照するディレクトリを定める
    • 記述がなくともworkdir自体は設定される
      • デフォルトでは/で設定される
  • WORKDIRインストラクション内ではDockerfile内で明示的に設定されている環境変数のみ参照できる