【Docker入門 】④ Dockerfileからイメージを作成する(Download)

Dockerfileを作成して、Dockerイメージをビルドする

Dockerfileの基本とイメージのビルド手順をメモします。

本記事で使用するファイルはこちらからダウンロード出来ます。
Dockerfile & remi-php74.repo

環境: Docker version 19.03.8、 Mac OS 10.13.6

Dockerfileとは

Dockerfileは起動するDockerコンテナの元になるイメージ(Docker image)に対して
ミドルウェアのインストールや設定などの手順をあらかじめ記述しておくレシピや雛形のようなファイルです。

Dockerfileからコマンドを使用してイメージを作成する事ができます。
(ビルドという)

作成、ビルド手順

1. Dockerfileの作成

例として、CentOSのDockerイメージを元にPHPとApacheのインストールを行います。

任意の場所にDockerfileを作成します。

Dockerfileは拡張子が無く、テキストエディタ等で「Dockerfile」という名称でファイルを作成すればOKです。

「Dockerfile」

ファイル内の項目について

FROM
元にするDocker imageを指定する。
※イメージを持っていなかった場合でもDockerfileを実行する際に自動で取得されるようです。
RUN
実行するコマンドを記述する
COPY
ホスト側のファイルをイメージのパスへコピーする
COPY 「ホストのファイルパス」「イメージのファイルパス」

(今回のもの以外にもDockerfile内で使用できるコマンドはあります)

Dockerfileと同じ場所にPHPのバージョン7系のインストールを有効にするためのファイル「remi-php74.repo」を作成しておきます。

「remi-php74.repo」

2. 作成したDockerfileからイメージをビルドする

Dockerfileの存在する場所で下記のコマンドを実行します。

-tオプションでビルド後に作成するイメージの名前、
後ろにDockerfileの存在する※パスを指定します。

※Dockerfileと同じ場所で実行する場合はカレントを表す.(ピリオド)でOK

ビルドに成功したら、docker imagesコマンドでイメージが作成されている事を確認します。

3. 作成したイメージからコンテナを起動する

ビルドしたイメージを元にコンテナを作成、起動
コンテナ名「php-apache-container」

コンテナの起動に成功したらログイン

コンテナへログイン済みの状態で下記のバージョン確認コマンドを実行すると
PHPのバージョン7系とApacheが既にインストールされている事が確認できるはずです。


既存コンテナからイメージを作成する方法と比べて
設定内容やインストールされているミドルウェア等をDockerfileの内容を見れば確認出来る点が良いと思います。

Follow me!