5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerfileとは

Last updated at Posted at 2021-03-11
1 / 6

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

5
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?