Dockerfile入門[docker build]

2019年3月27日

Dockerfileを利用してイメージを作成し、コンテナを起動するまでの流れを説明します。

 

関連ページ

Docker入門 [Hello World] コマンドの基本

 

上記関連ページではdocker pullでインストールしたubuntuイメージからそのままコンテナを作成しましたが、Dockerfileを利用するとコンテナ内で実行するコマンド等を含めたイメージの設計書のようなものを作ることができます。

 

 

Dockerfileからイメージの作成、そしてコンテナを作成・起動する流れは下記のイラストのようになります。

 

 

 

 

 

まずは「Dockerfile」を配置するディレクトリを作成し、拡張子の無い「Dockerfile」という名前のファイルを作成します。

 

NginxおよびCurl、VimをインストールしたUbuntuのイメージを作成するための「Dockerfile」を下記のように記述します。FROMやRUNを一般的に「命令」と呼びます。#はコメントです。

FROM

作成するイメージの元となるイメージ(ベースイメージ)を指定します。

LABEL

Dockerfileの作成者などのメタデータを記述します。以前は「MAINETAINER」に記述していました。

RUN

イメージの作成におけるコミットとしてのコマンドを指定します。つまりアプリ等をインストールするためのコマンドを記述します。今回はNginxおよびCurl、Vimをインストールしています。

EXPOSE

外部に開放するポート番号です。80番ポートを開けることを明示しています。

ENTRYPOINT

コンテナ作成時に実行されるコマンドを記述します。主にデーモン起動のコマンドを記述します。Dockerfile内にはENTRYPOINT命令は1回のみ記述できます。

 

Dockerfileの他の命令や記述方法は下記等のページをご参照下さい。

Dockerfile リファレンス

 

 

イメージの作成


 

Dockerfileを記述したらイメージを作成します。「docker build」コマンドを利用します。

myimageは作成するイメージ名(REPOSITORY)です。1.0はそれに伴うタグ名(TAG)で指定しない場合は自動的にlatestが付与されます。最後の「.」はDockerfileが配置されているディレクトリです。今回は同ディレクトリにてコマンドを実行しているため「.」のみとなっています。

 

「docker images」でイメージが作成できたか確認します。

myimageという名前で指定通りにTAGが1.0のイメージが作成されました。イメージが2つ生成されているのが確認できますが、ubuntuはベースイメージです。

 

コンテナを作成・起動させます。

 

「docker ps」で起動しているコンテナを表示させます。

 

コンテナに入ります。

 

Vimがインストールされていることを確認。

 

CurlとNginxの確認。

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー