Docker - プライベートレジストリ
Docker レジストリの紹介
こんにちは、未来のDockerマスターさんたち!今日は、Docker レジストリの魅力的な世界に飛び込みます。初めての方も心配しないでください;私はこれまでに多くの学生を指導してきましたように、あなたを一歩一歩ガイドします。さあ、旅立ちましょう!
Docker レジストリは、Docker イメージのためのライブラリのようです。ここでは、イメージを保存、管理、配布できます。これをあなたの好きな本(またはこの場合はDocker イメージ)を整然と並べた書棚と考えてください。
Docker レジストリの種類
Docker レジストリには主に2種類があります:
- 公開レジストリ(Docker Hubなど)
- プライベートレジストリ
今日はプライベートレジストリに焦点を当てます。でも、なぜプライベートレジストリが必要なのでしょうか?秘密のレシピを書いているとします。それを公開の掲示板に貼り出したいとは思いませんよね?それがプライベートレジストリの便利なところです!
プライベートレジストリの設定
さあ、袖をまくって自分のプライベートレジストリを設定しましょう。思ったよりも簡単です!
ステップ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
それだけです!あなたは刚刚プライベートライブラリから本を取り出しました。
プライベートレジストリの保護
プライベートライブラリを誰にでも見せたくないですよね?それではセキュリティを追加しましょう。
基本認証の設定
基本認証を設定するには以下の手順に従います:
- パスワードファイルを作成します:
docker run --entrypoint htpasswd registry:2 -Bbn myuser mypassword > auth/htpasswd
- 認証付きでレジストリを実行します:
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