Dockerfileとは?
最近巷で話題になっているDocker。単語は聞いたことがありますが、詳しく聞かれると頭からすっぽ抜けてたりします。そこで、今回はDockerの中でも重要なDockerfileについて基本的な部分を確認(復習)していきたいと思います。
おさらいとして、Dockerfileとは一般的に
・DockerfileからDocker imageを作成する設計図
・”Dockerfile”という名前のテキストファイル
・コンテナの構成情報を記述するためのファイル
などのことを言います。
Dockerfileの構文
基本的には”INSTRUCTION arguments”の構文になります。
※命令は大文字でも小文字でも大丈夫ですが、基本的に大文字の方が見かけられるので大文字で記載します。
FROM | ベースイメージの指定 |
RUN | コマンド実行 |
CMD | コンテナの実行コマンド |
LABEL | ラベルの設定 |
EXPOSE | ポートを指定 |
ENV | 環境変数 |
ADD | ファイル(ディレクトリ)の追加 |
COPY | ファイルコピー |
ENTRYPOINT | コンテナの実行コマンド |
VOLUME | ボリュームのマウント |
USER | ユーザの指定 |
WORKDIR | 作業ディレクトリ |
ARG | Dockerfile内の変数 |
ONBUILD | ビルド時に実行される命令 |
STOPSIGNAL | システムコールシグナルの設定 |
HEALTHCHECK | コンテナのヘルスチェック |
SHELL | シェルの設定 |
尚、コメントはPythonと同じく「#」で記載できます。
試しに簡単なDockerfileを作成してみます。
どこでもいいので「Dockerfile」というファイルを作成します。(筆者は~/Desktop/docker/Dockerfileに作成)
FROM ubuntu:latest RUN touch test
と記載します。
そして、Dockerfileがあるフォルダに移動したあとに以下のコマンドを入力します。
docker build <directory> →docker build . #今回ではこの形
上の画像の「build」の後に「.」がありますが、これはカレントディレクトリを表しているものです。今回は既にDockerfileがあるディレクトリ(ここでは~/Desktop/docker)に移動してから「docker build
この方法で作成したDocker imageは名前もタグも
docker build -t <イメージ名>:<タグ名> Dockerfileの場所 . →docker build -t sample:latest .
先ほど命名せずにDocker imageを作成したコマンドと少し違うのが分かると思います。今回は「docker build [オプション]
[オプション]では「-t」を使用しており、これは後ろに「”名前:タグ” 形式で名前とオプションのタグを指定」と記述することができます。これにより、上記のコマンド入力では「名前:sample」「タグ:latest」のイメージが作成されたというわけです。
今回の内容は以上となります。
次回は「Dockerfileの書き方(基本編)」について勉強していきます。