Docker - プライベートレジストリ

Docker レジストリの紹介

こんにちは、未来のDockerマスターさんたち!今日は、Docker レジストリの魅力的な世界に飛び込みます。初めての方も心配しないでください;私はこれまでに多くの学生を指導してきましたように、あなたを一歩一歩ガイドします。さあ、旅立ちましょう!

Docker - Registries

Docker レジストリは、Docker イメージのためのライブラリのようです。ここでは、イメージを保存、管理、配布できます。これをあなたの好きな本(またはこの場合はDocker イメージ)を整然と並べた書棚と考えてください。

Docker レジストリの種類

Docker レジストリには主に2種類があります:

  1. 公開レジストリ(Docker Hubなど)
  2. プライベートレジストリ

今日はプライベートレジストリに焦点を当てます。でも、なぜプライベートレジストリが必要なのでしょうか?秘密のレシピを書いているとします。それを公開の掲示板に貼り出したいとは思いませんよね?それがプライベートレジストリの便利なところです!

プライベートレジストリの設定

さあ、袖をまくって自分のプライベートレジストリを設定しましょう。思ったよりも簡単です!

ステップ1: レジストリイメージを取得

まず、Docker Hubから公式のレジストリイメージを取得します。ターミナルを開いて以下のコマンドを入力します:

docker pull registry:2

このコマンドは、図書館の司書に「レジストリ」の本を「Docker Hub」のライブラリから持ってくるように依頼するのと同じです。

ステップ2: レジストリコンテナを実行

次に、レジストリを起動します:

docker run -d -p 5000:5000 --name my-registry registry:2

これを分解すると:

  • -d: コンテナをバックグラウンドで実行します
  • -p 5000:5000: コンテナのポート5000をホストのポート5000にマッピングします
  • --name my-registry: コンテナに親しみやすい名前を付けます
  • registry:2: このコンテナを作成するために使用するイメージ

おめでとうございます!あなたのマシン上にプライベートレジストリが動作しています。

イメージをプライベートレジストリにプッシュ

レジストリができたので、イメージを追加してみましょう!

ステップ1: イメージをタグ付け

まず、イメージにタグを付け、レジストリと関連付けます:

docker tag my-image:latest localhost:5000/my-image:latest

これは、あなたの本に特別なシールを貼って、プライベートライブラリに属するものとして示すのと同じです。

ステップ2: イメージをプッシュ

次に、このイメージをレジストリにプッシュします:

docker push localhost:5000/my-image:latest

あなたは刚刚プライベートライブラリに最初の本を追加しました!

プライベートレジストリからイメージをプル

プライベートレジストリからイメージを使用するには、以下のようにプルします:

docker pull localhost:5000/my-image:latest

それだけです!あなたは刚刚プライベートライブラリから本を取り出しました。

プライベートレジストリの保護

プライベートライブラリを誰にでも見せたくないですよね?それではセキュリティを追加しましょう。

基本認証の設定

基本認証を設定するには以下の手順に従います:

  1. パスワードファイルを作成します:
docker run --entrypoint htpasswd registry:2 -Bbn myuser mypassword > auth/htpasswd
  1. 認証付きでレジストリを実行します:
docker run -d \
-p 5000:5000 \
--name secure-registry \
-v "$(pwd)"/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
registry:2

今あなたのレジストリはユーザー名とパスワードで保護されています!

有用なDocker レジストリコマンド

以下の表に便利なコマンドを示します:

コマンド 説明
docker pull registry:2 レジストリイメージを取得
docker run -d -p 5000:5000 --name my-registry registry:2 レジストリコンテナを実行
docker tag image:tag localhost:5000/image:tag イメージをタグ付け
docker push localhost:5000/image:tag イメージをレジストリにプッシュ
docker pull localhost:5000/image:tag レジストリからイメージをプル
docker search localhost:5000/ レジストリを検索

結論

そして、ここまでに、あなたは自分のプライベートDocker レジストリを設定しました。練習は熟練の鍵です。実験を恐れず、さまざまなことを試してみてください。新しい興味深いことを発見するかもしれません!

私がこれまで指導してきた年月の中で、学生たちは完全な初心者からDockerの達人に成長しました。忍耐と粘り強さあれば、あなたもきっと達成できます。続けましょう( pun intended)そして、楽しいDocker生活を!

Credits: Image by storyset