Dockerは最も簡単なイメージを作ります
ターゲット
Dockerfileを使用して最も簡単な最も簡単なimageを作成します.このimageが実行されると、Hello world,my first docker imagesが出力されます.
環境
Win10 + WSL 2 + Ubuntu 20.04
Step by Step
Imageベースディレクトリの作成
まず、現在のパスの下にディレクトリdocker 1を作成します.$mkdir docker1
$cd docker1
現在のパスはyizhou@O7070-8B00:~/docker1$ pwd
/home/yizhou/docker1
Dockerfileファイルの作成
直接vi Dockerfileで次のように入力できます.# get base image ubuntu
FROM ubuntu:20.04
# set maintainer name
MAINTAINER yizhou <[email protected]>
# update ubuntu 20.04
RUN apt-get update
# echo message
CMD ["echo", "hello world! from my first docker image"]
1行目、FROM ubuntu:0.04、ubuntuのバージョンを指定します.18.04を使いたい場合は、FROM ubuntu:18.04に変更します.2行目、MAINTAINER、メンテナンス担当者情報を指定します.これは要らなくてもいいです.3行目、RUN、コマンドを実行します.ここではapt-get updateを実行します.4行目、CMD、commandコマンドを実行します.ここではechoのメッセージです.
ミラーファイルを作成
docker buildを使用します.具体的には次のとおりです.$ docker build -t myimage1:1.0 .
パラメータの説明
-tミラーを設定ためのtag.現在のパスのコマンドラインを次のように実行します.yizhou@O7070-8B00:~/docker1$ docker build -t myimage1:1.0 .
[+] Building 2.9s (6/6) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 278B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:20.04 2.8s
=> [1/2] FROM docker.io/library/ubuntu:20.04@sha256:cf31af331f38d1d7158470e095b132acd126a7180a54f263d386da88eb681d93 0.0s
=> CACHED [2/2] RUN apt-get update 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:f74ac5eb2944a584c4d22dbc442f734425461522d7e1561a7181e6ffad0f14a9 0.0s
=> => naming to docker.io/library/myimage1:1.0 0.0s
これで私たちの最も簡単なミラーが完成しました.
ミラーIDの取得
コマンドdocker imagesを使用します.実行結果は次のとおりです.yizhou@O7070-8B00:~/docker1$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myimage1 1.0 f74ac5eb2944 27 minutes ago 101MB
ミラーのREPOSITORYはmyimage 1,TAGは1.0,IMAGE IDはf 74 ac 5 eb 2944であることがわかる.
ミラーの実行
コマンドdocker runを使用します.具体的には以下の通りです.yizhou@O7070-8B00:~/docker1$ docker run f74ac5eb2944
hello world! from my first docker image
以上、Dockerfileで指定したメッセージが表示されます.これで、最も簡単なDockerイメージの制作を完成しました.
Win10 + WSL 2 + Ubuntu 20.04
Step by Step
Imageベースディレクトリの作成
まず、現在のパスの下にディレクトリdocker 1を作成します.$mkdir docker1
$cd docker1
現在のパスはyizhou@O7070-8B00:~/docker1$ pwd
/home/yizhou/docker1
Dockerfileファイルの作成
直接vi Dockerfileで次のように入力できます.# get base image ubuntu
FROM ubuntu:20.04
# set maintainer name
MAINTAINER yizhou <[email protected]>
# update ubuntu 20.04
RUN apt-get update
# echo message
CMD ["echo", "hello world! from my first docker image"]
1行目、FROM ubuntu:0.04、ubuntuのバージョンを指定します.18.04を使いたい場合は、FROM ubuntu:18.04に変更します.2行目、MAINTAINER、メンテナンス担当者情報を指定します.これは要らなくてもいいです.3行目、RUN、コマンドを実行します.ここではapt-get updateを実行します.4行目、CMD、commandコマンドを実行します.ここではechoのメッセージです.
ミラーファイルを作成
docker buildを使用します.具体的には次のとおりです.$ docker build -t myimage1:1.0 .
パラメータの説明
-tミラーを設定ためのtag.現在のパスのコマンドラインを次のように実行します.yizhou@O7070-8B00:~/docker1$ docker build -t myimage1:1.0 .
[+] Building 2.9s (6/6) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 278B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:20.04 2.8s
=> [1/2] FROM docker.io/library/ubuntu:20.04@sha256:cf31af331f38d1d7158470e095b132acd126a7180a54f263d386da88eb681d93 0.0s
=> CACHED [2/2] RUN apt-get update 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:f74ac5eb2944a584c4d22dbc442f734425461522d7e1561a7181e6ffad0f14a9 0.0s
=> => naming to docker.io/library/myimage1:1.0 0.0s
これで私たちの最も簡単なミラーが完成しました.
ミラーIDの取得
コマンドdocker imagesを使用します.実行結果は次のとおりです.yizhou@O7070-8B00:~/docker1$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myimage1 1.0 f74ac5eb2944 27 minutes ago 101MB
ミラーのREPOSITORYはmyimage 1,TAGは1.0,IMAGE IDはf 74 ac 5 eb 2944であることがわかる.
ミラーの実行
コマンドdocker runを使用します.具体的には以下の通りです.yizhou@O7070-8B00:~/docker1$ docker run f74ac5eb2944
hello world! from my first docker image
以上、Dockerfileで指定したメッセージが表示されます.これで、最も簡単なDockerイメージの制作を完成しました.
$mkdir docker1
$cd docker1
yizhou@O7070-8B00:~/docker1$ pwd
/home/yizhou/docker1
# get base image ubuntu
FROM ubuntu:20.04
# set maintainer name
MAINTAINER yizhou <[email protected]>
# update ubuntu 20.04
RUN apt-get update
# echo message
CMD ["echo", "hello world! from my first docker image"]
$ docker build -t myimage1:1.0 .
yizhou@O7070-8B00:~/docker1$ docker build -t myimage1:1.0 .
[+] Building 2.9s (6/6) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 278B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:20.04 2.8s
=> [1/2] FROM docker.io/library/ubuntu:20.04@sha256:cf31af331f38d1d7158470e095b132acd126a7180a54f263d386da88eb681d93 0.0s
=> CACHED [2/2] RUN apt-get update 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:f74ac5eb2944a584c4d22dbc442f734425461522d7e1561a7181e6ffad0f14a9 0.0s
=> => naming to docker.io/library/myimage1:1.0 0.0s
yizhou@O7070-8B00:~/docker1$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myimage1 1.0 f74ac5eb2944 27 minutes ago 101MB
yizhou@O7070-8B00:~/docker1$ docker run f74ac5eb2944
hello world! from my first docker image