Dockerfileの作成方法。
大まかなコンテナ構築手順
一般的な簡単なコンテナ構築手順は以下である。
- Dockerfileを作成する ←今回はこちら
- イメージをビルドする
- コンテナを起動/停止する
- コンテナへアクセスする
- コンテナ/イメージを削除する
Dcokerfileの記述方法
Dockerでコンテナ(仮想環境)を作成するには、「こう作ってくれ」というような命令を記載したファイルを作成する必要がある。基本的なファイルの構成は以下の通り。
FROM [利用したいDockerイメージ]
[インストールやコマンドを実行するための命令文]
命令文の基本的な構文は以下の通り。
命令文 | 指定方法 | 例 |
FROM | ベースとしたいイメージ/タグを指定する。 | FROM python:latest |
RUN | イメージに含まれる実行したいコマンドを指定する。 | RUN pip install –upgrade pip |
CMD | コンテナ実行時の実行されるコマンド指定する。 | CMD [“/usr/bin/wc”,”–help”] |
COPY | ファイルやディレクトリのコピー元とコピー先を指定する。 | COPY ./req.txt /tmp/req.txt |
ENV | 環境変数を指定する。 | ENV LANG ja_JP.UTF-8 |
VOLUME | ファイルやディレクトリのマウントポイントを指定する。 | VOLUME [“/data”] |
USER | 後続の命令を実行するユーザーを指定する。 | USER user1 |
WORKDIR | カレントディレクトリを指定する。 | WORKDIR /work |
実際に作成してみる
任意のディレクトリでDockerfileを作成する。
touch Dockerfile
Dockerfileを編集する。今回はPythonの最新バージョンの環境を作成してみる。
vi Dockerfile
以下を記述する。
FROM python:latest
RUN apt-get update
RUN apt-get -y install locales && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
RUN apt-get install -y vim
RUN pip install --upgrade pip
RUN python -m pip install numpy pandas
以上でDockerfile作成は終了。
次はイメージをビルドする手順を実施する。