Docker難易度 基礎

状況

手元で直したアプリを、コンテナレジストリ経由で本番サーバーに出す。手順書では docker build のときにタグを付けない(-t を使わない)。

作業する順番に並べてください。

正答

  • 本番サーバーで新しいタグのイメージを pull して起動する
  • イメージにレジストリ名とバージョンのタグを付ける
  • Dockerfile からイメージを build する
  • イメージをレジストリに push する
正しい順番
  1. Dockerfile からイメージを build する
  2. イメージにレジストリ名とバージョンのタグを付ける
  3. イメージをレジストリに push する
  4. 本番サーバーで新しいタグのイメージを pull して起動する

解説

まず Dockerfile からイメージを build する。docker push は送り先のレジストリをイメージ名(タグ)から決めるので、push の前に registry.example.com/app:1.4.0 のようなタグを付ける必要がある。タグを付けずに push しようとしても、どこへ送るかが決まらない。レジストリに上がってはじめて本番サーバーが pull できるので、本番での起動は最後になる。バージョンのタグを付けておけば、問題があったときに前のタグで起動し直して切り戻せる。

参考: docs.docker.com

imageregistrypushdeploy

この問題を含む Docker のテストを制限時間つきで解く

Dockerクイズへ