Dockerfileの作成方法。
大まかなコンテナ構築手順
一般的な簡単なコンテナ構築手順は以下である。
- Dockerfileを作成する
- イメージをビルドする ←今回はこちら
- コンテナを起動/停止する
- コンテナへアクセスする
- コンテナ/イメージを削除する
イメージのビルド方法
作成したDockerfile使い、イメージをビルドする。
Dockerfileと同じディレクトリで以下のコマンドを実行する。
docker build .
イメージ名:タグを指定する場合は、以下。
docker build . -t イメージ名:タグ
この際、イメージをネットワーク経由で持ってくるので、ネットワーク接続状態である必要がある。
ビルド後、以下でビルドされたイメージを確認できる。
docker images
実際にビルドしてみる
イメージ名とタグを指定してビルド。
$ ls -ltr Dockerfile
-rw-r--r--@ 1 kazuoji staff 282 Sep 1 00:47 Dockerfile
$
$ docker build . -t mypythonimage:1.0
(省略) 0.0s
[+] Building 78.8s (10/10) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 368B 0.0s
=> [internal] load metadata for docker.io/library/python:latest 1.6s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/6] FROM docker.io/library/python:latest@sha256:e3d5b6f95ce66923b5e48a06ee5755abb097de96a8617c3f2f 47.0s
=> => resolve docker.io/library/python:latest@sha256:e3d5b6f95ce66923b5e48a06ee5755abb097de96a8617c3f2f7 0.0s
=> => sha256:1593650c75729f64218ae272e8ffff9da7bbba9599bd1815877da99a2651fd9b 23.59MB / 23.59MB 5.2s
=> => sha256:7eaa3d3233e0d4059733827bae5864c478dc008e27fc88f36b01c6bc069b3dd3 7.05kB / 7.05kB 0.0s
=> => sha256:7b24851aa36de07cd94173b8e2052846573dacc3b241620d713254e647352394 49.59MB / 49.59MB 13.2s
=> => sha256:275677961327bd0cf394699228e29d7caf27f171c627899a20ebc9eeb550e209 63.99MB / 63.99MB 20.6s
=> => sha256:e3d5b6f95ce66923b5e48a06ee5755abb097de96a8617c3f2f7d431d48e63d35 9.72kB / 9.72kB 0.0s
=> => sha256:cf50dada752eced11f6baf7d91b14a255bc4605d0c48da8f8153c4a11af3b657 2.52kB / 2.52kB 0.0s
=> => sha256:b46e144614e1ae9b82b5d89d16a31a506542733eabceebfac041e0192dfafcf4 202.62MB / 202.62MB 34.4s
=> => sha256:83027d49da50d117c2a9796513cc31a82b8c8dc2d21e16d0d6331a41d27fc9d3 6.24MB / 6.24MB 16.5s
=> => extracting sha256:7b24851aa36de07cd94173b8e2052846573dacc3b241620d713254e647352394 3.6s
=> => sha256:1cdb3b57ff646d36a5950d7f58f59e06f1749e02f34b05e1ac359de4367319ca 21.95MB / 21.95MB 23.2s
=> => extracting sha256:1593650c75729f64218ae272e8ffff9da7bbba9599bd1815877da99a2651fd9b 0.7s
=> => extracting sha256:275677961327bd0cf394699228e29d7caf27f171c627899a20ebc9eeb550e209 3.1s
=> => sha256:976c0d6bd9e7442c342d1230988c40f24001c6e0f57aa86227dc9b4c3aacc553 232B / 232B 20.9s
=> => sha256:b055fafe00918b3741b612d20235ae925264491dd3be66279b946db3f12df317 3.90MB / 3.90MB 22.9s
=> => extracting sha256:b46e144614e1ae9b82b5d89d16a31a506542733eabceebfac041e0192dfafcf4 10.7s
=> => extracting sha256:83027d49da50d117c2a9796513cc31a82b8c8dc2d21e16d0d6331a41d27fc9d3 0.3s
=> => extracting sha256:1cdb3b57ff646d36a5950d7f58f59e06f1749e02f34b05e1ac359de4367319ca 0.9s
=> => extracting sha256:976c0d6bd9e7442c342d1230988c40f24001c6e0f57aa86227dc9b4c3aacc553 0.0s
=> => extracting sha256:b055fafe00918b3741b612d20235ae925264491dd3be66279b946db3f12df317 0.4s
=> [2/6] RUN apt-get update 3.7s
=> [3/6] RUN apt-get -y install locales && localedef -f UTF-8 -i ja_JP ja_JP.UTF-8 7.1s
=> [4/6] RUN apt-get install -y vim 3.4s
=> [5/6] RUN pip install --upgrade pip 2.1s
=> [6/6] RUN python -m pip install numpy pandas 12.9s
=> exporting to image 0.8s
=> => exporting layers 0.7s
=> => writing image sha256:e0f51fa89a90d413a3ddea4e49825ab8c19fd49356d194b3ce2ac5918fff3da6 0.0s
=> => naming to docker.io/library/mypythonimage:1.0
ビルドされたイメージを確認。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mypythonimage 1.0 e0f51fa89a90 3 minutes ago 1.33GB
指定したイメージ名とタグでビルドされていることがわかる。
以上でイメージのビルドは終了。
次はビルドしたイメージを使ってコンテナを起動する手順を実施する。