Dockerfile
DockerfileはDockerコンテナのビルド時や起動時の作業を一つの設定ファイルにまとめたものです。
Dockerfileを使うことで、手順の簡略化による工数削減と作業手順の誤りを防止できます。
Dockerfileの基本命令
- FROM:元となるイメージ
- コロンの後にタグを指定
- タグなしの場合、latest(最新)が選択される
FROM イメージ[:タグ]
# example
FROM python:3.7-alpine
- RUN:ビルド時に実行するコマンド
RUN <コマンド>
# example
RUN apt-get update
RUN apt-get install iputils-ping net-tools
- CMD:起動時に実行するコマンド
- 1つのDockerfileで1度だけ指定できる
CMD <コマンド>
# example
CMD python -m http.server 80
- ENV:環境変数の定義
ENV <環境変数名>=<値>
# example
ENV TZ=Asia/Tokyo
# イコールの代わりに半角スペースでもOK
ENV DB_ENDPOINT 172.16.0.2
- COPY:ホストやURLからコンテナへファイルをコピー
- コピー元がディレクトリの場合、ディレクトリ内すべてコピーされる
- コピー先ディレクトリが存在しない場合は作成される
- コピー元にはワイルドカードも使える
COPY <コピー元ファイル名(orディレクトリ名)> <コピー先ディレクトリ名>
# example
COPY ../web/src/index.html /var/www/
COPY ../web/script/ /var/www/script/
COPY *.txt /var/www/docs/
- WORKDIR: 命令を実行するディレクトリを指定
- ディレクトリを指定したいRUN、CMD、COPY等の命令の直前に記述する
- 1つのDockerfileに複数回書くこともできる
WORKDIR <コンテナ内ディレクトリ名>
# example
WORKDIR /var
RUN mkdir www
WORKDIR /var/www
CMD python -m http.server 80
- USER: 命令を実行するユーザを指定
USER <ユーザ名 or UID>
# example
USER john
その他の命令(公式リファレンス): http://docs.docker.jp/engine/reference/builder.html
Return
Dockerコンテナ構築手順① Dockerfile編:
https://qiita.com/aminosan000/private/ef8778cbd880aa6e655c