##背景
Dockerfileの書き方があまりよく分かってなかったので、復習として整理する。
##Dockerfileとは?
Dockerではcontainerを作るために、まずimageという材料を用意しなければならないのですが、そのimageの設計図がDockerfileです。
Dockerfileを書くときに使うコマンドは色々あるのですが、初心者のうちは
FROM,COPY,RUN,CMD,WORKDIR,ENV,USER
だけ覚えておけばいいそうです。なのでこの記事でも上記の7つのコマンドの意味を説明していきます。
##FROM
FROMコマンドとはどのimageを使うのかを指定するコマンドです。
一番最初にどのimageを使うかを指定してから他のコマンドをより詳細に付け足していきます。
##COPY
このコマンドはDockerのコンテナ内にローカルで作成したファイルやディレクトリをコピーしてくれます。
##RUN
Dockerコンテナに入ったら、RUNで指定されたコマンドを実行してくれます。
##CMD
Dockerを起動すると自動でコマンドを実行してくれます。
##WORKDIR
Dockerfileでコマンドを実行するときにどこのディレクトリを基準(スタート)にするかを設定できます。存在しないディレクトリを指定した時は自動的にディレクトリが作成され、何も設定しなければデフォルトでは/のディレクトリが設定されているので、既存のディレクトリを上書きしてしてしまう恐れがあります。
##ENV
環境変数を設定してくれるコマンドです。ちなみに環境変数とはOSが持っている変数のことです。
##USER
USERはimageを起動したときにどのユーザーがログインするかを指定することができます。デフォルトではrootユーザーが設定されているので、セキュリティのことを考えるとroot以外のユーザーを指定するのが推奨です。