このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ONBUILDを使ってみる②

 「ONBUILDを使ってみる①」の続きです、「ONBUILDを使ってみる」は、3部に分けて解説しています。

ONBUILDを使ってみる②」では、下図のオレンジ枠の操作を行っていきます。

「Dockerfile.base」の確認

「ONBUILD」のところに注目します。

 「ADD webcontent.tar /var/www/html」は、Webコンテンツ「webcontent.tar」をイメージにコピーする命令です。

この命令が、1回目のビルドでは、どのように扱われるかを確認します。

1回目のビルド

1回目のビルドを行い、「base-image」を作成します。

・「docker build -t base-image -f Dockerfile.base .」コマンドを実行します。

 コマンドの最後に「.」が付いていますので注意してください。「.」は、 カレントディレクトリを表します。「-f」オプションでDockerfileの名前を指定しています。

PS C:\Users\joeac\Desktop\docker\Webserver2> docker build -t base-image -f Dockerfile.base .
[+] Building 72.3s (7/7) FINISHED                                                                        docker:default
 => [internal] load build definition from Dockerfile.base                                                          0.0s
 => => transferring dockerfile: 425B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/ubuntu:latest                                                   2.9s
 => [auth] library/ubuntu:pull token for registry-1.docker.io                                                      0.0s
 => [1/2] FROM docker.io/library/ubuntu:latest@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44e  1.8s
 => => resolve docker.io/library/ubuntu:latest@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44e  0.0s
 => => sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e 1.13kB / 1.13kB                     0.0s
 => => sha256:aa772c98400ef833586d1d517d3e8de670f7e712bf581ce6053165081773259d 424B / 424B                         0.0s
 => => sha256:ca2b0f26964cf2e80ba3e084d5983dab293fdb87485dc6445f3f7bbfc89d7459 2.30kB / 2.30kB                     0.0s
 => => sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb 29.54MB / 29.54MB                   0.9s
 => => extracting sha256:bccd10f490ab0f3fba61b193d1b80af91b17ca9bdca9768a16ed05ce16552fcb                          0.8s
 => [2/2] RUN apt-get update && apt-get install -y -q nginx                                                       67.1s
 => exporting to image                                                                                             0.3s
 => => exporting layers                                                                                            0.3s
 => => writing image sha256:7251dd3c9aff4c381e670e93d352754dcde6ec8ae214f8cc0a884968611e7821                       0.0s
 => => naming to docker.io/library/base-image                                                                      0.0s

What's Next?
  View a summary of image vulnerabilities and recommendations → docker scout quickview

コンテナの作成と実行

「base-image」から「base-container」を作成します。

・「docker run –name base-container -it -d -p 80:80 base-image」コマンドを実行します。

 「docker run」コマンドは、コンテナの作成から実行までを行うコマンドです。「base-container」が作成され、実行されます。

PS C:\Users\joeac\Desktop\docker\Webserver2> docker run --name base-container -it -d -p 80:80 base-image
66de17adfd11f8ca723e8f47560057ec8128350de7aa02b6527ee1e1ac2f36e0

Webブラウザで確認

・Webブラウザを起動して、URLに「localhost」と入力します。

Webページが表示されますが、ONBUILDで準備したWebコンテンツが表示されていません。

 これは、1回目のビルドでは、ONBUILD命令が実行されないことを意味しています。

2回目のビルドについては「ONBUILDを使ってみる③」で解説していきます。

関連コンテンツ