【コピペOK】DockerfileとbuildでDockerイメージを作成する手順

 

★悩み★
・Dockerのコンテナイメージを作成する手順を知りたいな。
・コンテナイメージを作りたいけど、Dockerfileの作り方が分からないな。
・Dockerfileとdocker buildコマンドでコンテナイメージをどう作るのかな。


こういった「悩み」に答えます。
 

★本記事の内容★
① DockerfileとbuildでDockerコンテナイメージを作成するための準備を紹介
④ DockerfileとbuildでDockerのコンテナイメージを作成する手順をご紹介


これからご紹介する「DockerfileとbuildでDockerイメージを作成する手順」を実践したことで、30分以内で「Dockerコンテナイメージを作成」できました。

記事の前半では「Dockerのインストール手順」を解説しつつ、記事の後半では「Dockerfileとdocker buildコマンドでDockerコンテナイメージを作成する手順」を紹介します。

この記事を読み終えることで、「Dockerコンテナイメージを作成できる」状態になります。


 

【PR】この記事には広告を含む場合があります

DockerfileとbuildでDockerコンテナイメージを作成するための準備


「DockerfileとbuildでDockerコンテナイメージを作成するための準備」に関してご紹介します。

★Dockerfileとbuildでコンテナイメージを作成するための準備の流れ★
手順1:Dockerをインストール
手順2:Dockerを起動


上記の流れで、「Dockerfileとbuildでコンテナイメージを作成するための準備」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年5月31日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)


以降で、上記「Dockerfileとbuildでコンテナイメージを作成するための準備の流れ」の各手順に関してご説明します。
 

手順1:Dockerをインストール

「手順1:Dockerをインストール」に関してご説明します。
 

Dockerのコンテナイメージを作成するためには、Dockerをインストールする必要があります。


「Dockerのインストール手順」に関しては、以下の記事「ステップ1:Dockerをインストール」をご覧ください。
 

  

既にDockerをインストールされている方は、本手順を省略してください。


以上で、「手順1:Dockerをインストール」は完了です。
 

手順2:Dockerを起動【コンテナイメージ作成に必要】

「手順2:Dockerを起動」に関してご説明します。
 

Dockerのコンテナイメージを作成するためには、Dockerを起動する必要があります。


Dockerを起動するために、以下のコマンドを「端末」または「ターミナル」で順に実行してください。

# systemctl start docker
# systemctl status docker | grep running
   Active: active (running) since 土 2021-05-31 01:14:44 JST; 1min 27s ago
#


コマンド実行後、「running」が表示された場合、「正常にDockerが起動した」と判断できます。

以上で、「手順2:Dockerを起動」は完了です。
 

上記の流れで、Dockerfileとdocker buildコマンドでDockerのコンテナイメージを作成するための準備ができました。

 

DockerfileとbuildでDockerコンテナイメージを作成する手順


「Dockerfileとdocker buildコマンドでDockerコンテナイメージを作成する手順」に関してご紹介します。

★Dockerfileとdocker buildコマンドでコンテナイメージを作成する流れ★
手順1:Dockerコンテナイメージで動作させたいプログラムの作成
手順2:Dockerfileの作成
手順3:Dockerfileとdocker buildコマンドでDockerコンテナイメージの作成
手順4:作成したDockerコンテナイメージの動作確認


上記の流れで、「Dockerfileとdocker buildコマンドでコンテナイメージを作成」ができます。
 

上記の各手順は、以下の日時と環境で動作確認済みです。
動作確認済み日時:2021年5月31日
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)


以降で、上記「Dockerfileとdocker buildコマンドでコンテナイメージを作成する流れ」の各手順に関してご説明します。
 

手順1:Dockerコンテナイメージで動作させたいプログラムの作成

「手順1:Dockerコンテナイメージで動作させたいプログラムの作成」に関してご説明します。
 

Dockerコンテナイメージで動作させたいプログラムを作成しましょう。今回は、「PythonのFastAPIでREST API(GET)」をDockerコンテナイメージ内で動作させます。


Dockerコンテナイメージ内で動作させる「PythonのFastAPIでREST API(GET)の作成手順」に関しては、以下の記事をご覧ください。
 


以上で、「手順1:Dockerイメージ内で動作させたいプログラムの作成」は完了です。
 

手順2:Dockerfileの作成【docker buildを実行するために必要】

「手順2:Dockerfileの作成」に関してご説明します。
 

Dockerコンテナイメージを作成するためには、Dockerfileが必要です。

 

★Dockerfileとは★
Dockerのコンテナイメージを作成する元となるファイルです。Dockerfileには、「パッケージのインストール」や「アプリの起動コマンド」などを記載します。

Dockerfileとは(公式サイト)


「PythonのFastAPIでREST API(GET)を起動する」コンテナイメージを作成するために、以下のDockerfileを作りましょう。

FROM python:3.8-alpine

# コンテナイメージ内において、作業用ディレクトリ(/app)を作成
WORKDIR /app

# 「PythonのFastAPIでREST API(GET)を実現する」プログラムを/appへコピー
COPY requirements.txt .
COPY main.py .

# コンテナイメージ内で必要なパッケージをインストール
RUN apk add --no-cache build-base \
 && pip install --no-cache-dir --trusted-host pypi.python.org -r requirements.txt \
 && apk del build-base

# コンテナイメージ内で、 「PythonのFastAPIでREST API(GET)を実現する」プログラムを8000ポートで起動
EXPOSE 8000
CMD ["uvicorn", "main:app", "--reload", "--host", "0.0.0.0", "--port", "8000"]


上記のファイルを「Dockerfile」というファイル名で保存しましょう。

以上で、「手順2:Dockerfileの作成」は完了です。
 

手順3:Dockerfileとdocker buildコマンドでDockerコンテナイメージの作成

「手順3:Dockerfileとdocker buildコマンドでDockerコンテナイメージの作成」に関してご説明します。
 

「PythonのFastAPIでREST API(GET)」を起動するDockerコンテナイメージを作成しましょう。


「PythonのFastAPIでREST API(GET)」を起動するDockerのコンテナイメージを作成するために、以下のディレクトリ構成になっているか確認してください。

# cat requirements.txt 
uvicorn
fastapi
# tree
.
├── Dockerfile       # 手順2で作成したDockerfile
├── main.py          # 手順1で作成したPythonのプログラム
└── requirements.txt 

0 directories, 3 files
#


Dockerコンテナイメージを作成するために、以下のコマンドを順に実行します。

# docker build -t fastapi:1 .
# docker images | grep fastapi
fastapi                                1                   5950e0da1480        6 seconds ago       51.9MB


コマンド実行後、「fastapi 1」が出力された場合、「Dockerfileとdocker buildコマンドでDockerコンテナイメージを正常に作成できた」と判断できます。
 

docker buildコマンドの記述形式が気になる方は、以下の公式サイトを確認してください。

docker buildコマンドのリファレンス(公式サイト)


以上で、「手順3:Dockerfileとdocker buildコマンドでDockerコンテナイメージの作成」は完了です。
 

手順4:作成したDockerコンテナイメージの動作確認

「手順4:作成したDockerコンテナイメージの動作確認」に関してご説明します。
 

作成したDockerコンテナイメージを起動して、動作を確認してみましょう。


手順3で作成したDockerコンテナイメージを起動するために、以下のコマンドを実行して下さい。

# docker run -p 8000:8000 -ti fastapi:1


コマンド実行後、Dockerコンテナイメージ内で起動した「PythonのFastAPIでREST API(GET)」プログラムの動作確認をするために、以下のコマンドを実行しましょう。

# curl http://127.0.0.1:8000/
{"text":"hello!!"}


コマンンド実行後、上記のように「{“text”:”hello!!”}」が出力された場合、「正常にDockerコンテナイメージが動作した」と判断できます。

以上で、「手順4:作成したDockerコンテナイメージの動作確認」は完了です。
 

上記の流れで、自分自身で作成したプログラムをDockerのコンテナイメージ化することができました。

 

ちなみに、「dockerの使い方をもっと知りたい」方は、以下の参考書がオススメです。


動画で学びたいという方には、以下がオススメです。

docker入門@udemy

 

【まとめ】DockerfileとbuildでDockerイメージを作成する手順


今回の記事を通して、「DockerfileとbuildでDockerイメージを作成する手順」をご紹介することで、以下の悩みを解消しました。
 

★悩み★
・Dockerのコンテナイメージを作成する手順を知りたいな。
・コンテナイメージを作りたいけど、Dockerfileの作り方が分からないな。
・Dockerfileとdocker buildコマンドでコンテナイメージをどう作るのかな。


Dockerfileとdocker buildコマンドでDockerコンテナイメージを作成する手順?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント