ローカル Docker レジストリのデプロイ

DockerBeginner
オンラインで実践に進む

はじめに

Docker レジストリは、Docker イメージを保存、管理、配布するためのプラットフォームです。Docker Hub などのクラウドベースのサービスは手軽に利用できますが、利用制限やセキュリティポリシー上の制約が生じることがあります。このチャレンジでは、独自のローカル Docker レジストリを構築する手順を体験します。これにより、イメージの管理権限を完全に掌握し、ネットワーク環境に依存しない開発フローを実現できます。

Docker レジストリの構築

このステップでは、ローカル環境に Docker レジストリをセットアップします。ここでは、Docker 公式が提供しているレジストリ用イメージを利用します。

目標

Docker レジストリを起動し、利用可能な状態にすること。

完了イメージ

レジストリを構築する手順は以下の通りです:

  1. registry イメージをプル(取得)します。

Docker レジストリイメージのプル

  1. コンテナ内のデータを永続化しやすくするため、/home/labex パスに dockerregistry という名前のディレクトリを作成します。

dockerregistry ディレクトリの作成

  1. registry イメージを使用して my-registry という名前のコンテナを実行します。その際、ポートをマッピングし、作成した dockerregistry ディレクトリをボリュームとしてマウントしてデータを保存できるようにします。

Docker レジストリコンテナの実行

  1. curl コマンドを使用して、レジストリが正常に応答するか確認します。

Docker レジストリの稼働確認

このステップが完了すると、ローカルマシン上で Docker レジストリのインスタンスが稼働した状態になります。

Docker レジストリへのイメージのプッシュ

Docker レジストリが稼働したので、実際に使ってみましょう。このステップでは、サンプルとなる Docker イメージを用意し、構築したローカルレジストリにプッシュ(送信)します。

目標

ローカル Docker レジストリにイメージをプッシュすること。

完了イメージ

イメージをプッシュする手順は以下の通りです:

  1. Docker Hub から hello-world イメージをプルします。

hello-world イメージのプル

  1. 自分のレジストリ用として、hello-world イメージに新しいタグを付けます。

hello-world イメージへのタグ付け

  1. タグ付けした hello-world イメージをローカルレジストリにプッシュします。

ローカルレジストリへのイメージプッシュ

このステップが完了すると、ローカル Docker レジストリ内にイメージが保存されます。

Docker レジストリからのイメージのプル

レジストリが稼働し、サンプルイメージも保存されました。最後のステップでは、ローカルレジストリからイメージをプル(取得)する方法を確認します。

目標

構築したレジストリからイメージをプルすること。

完了イメージ

ローカルレジストリからイメージをプルする手順は以下の通りです:

  1. docker rmi コマンドを使用して、ローカルレジストリ用にタグ付けした hello-world イメージのローカルコピーを一旦削除します。

Docker イメージの削除

  1. ローカル Docker レジストリからイメージをプルします。

ローカルからのイメージプル

  1. プルしたイメージからコンテナを実行し、正しく動作するか確認します。

イメージからのコンテナ実行

このステップが完了すると、独自のレジストリからイメージを取得して利用できることが証明されます。

まとめ

このチャレンジでは、ローカル Docker レジストリの構築、イメージのプッシュ、そしてプッシュしたイメージのプルという一連の操作を学びました。ローカルレジストリを活用することで、イメージ管理の柔軟性が高まり、オフライン環境での開発もスムーズになります。チャレンジ完了、おめでとうございます!

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習