Docker から組み込みの Harbor レジストリ のプロジェクトにイメージをプッシュできます。組み込みの Harbor レジストリ 内のプロジェクトは、スーパーバイザー クラスタ の vSphere 名前空間に対応しています。
前提条件
さらに、イメージをプッシュする Harbor レジストリ のプロジェクトに対応する名前空間に対する書き込み権限を持つユーザー アカウントを取得します。
最後に、レジストリにプッシュできるローカル イメージが必要になります。次のコマンドを実行すると、Docker ハブから hello-world イメージがプルされます。イメージをプルするには、アカウントが必要になります。
docker run hello-world
予期される結果:
Hello from Docker!
This message shows that your installation appears to be working correctly.
docker images
コマンドを使用してイメージを確認します。
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 10 months ago 13.3kB
手順
- vSphere Docker 認証情報ヘルパーを使用して Harbor レジストリ にログインします。
注: ログイン時に
--user username
を指定することは可能ですが、UserPrincipalName (UPN) 構文 (
--user [email protected]
) を使用してログインし、
docker push
コマンドを使用する必要があります。
- Harbor レジストリ のプロジェクトにプッシュするイメージに、そのイメージを使用する名前空間と同じ名前をタグ付けします。
docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]
例:
docker tag hello-world:latest 10.179.145.77/tkgs-cluster-ns/hello-world:latest
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.179.145.77/tkgs-cluster-ns/hello-world latest bf756fb1ae65 10 months ago 13.3kB
hello-world latest bf756fb1ae65 10 months ago 13.3kB
- イメージを Harbor のプロジェクトにプッシュするには、次のコマンドを実行します。
構文:
docker push <container-registry-IP>/<namespace-name>/<image_name>
例:
docker push 10.179.145.77/tkgs-cluster-ns/hello-world:latest
予期される結果:
The push refers to repository [10.179.145.77/tkgs-cluster-ns/hello-world]
9c27e219663c: Pushed
latest: digest: sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 size: 525
- 組み込みの Harbor レジストリでイメージが使用可能になったことを確認します。
- 組み込みの Harbor レジストリ コンソールへのログイン
- にあるプロジェクトのリンクをクリックします。
- [リポジトリ] タブを選択します。
- レジストリにプッシュしたイメージが、
namespace/image-name
の形式(tkgs-cluster-ns/hello-world
など)で表示されます。
- このイメージを選択すると、
latest
タグおよびその他のメタデータが表示されます。
- [リポジトリ] タブに戻ります。
- [イメージ Docker コマンドのプッシュ] ドロップダウン メニューを選択します。このリポジトリにタグを付けてイメージをプッシュするコマンドが表示されます。
例
次の図に、組み込みの Harbor レジストリにイメージをプッシュする例を示します。
docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest
docker push <container-registry-IP>/busybox/busybox:latest
次のタスク
Harbor レジストリのイメージを使用して vSphere ポッド をデプロイします。組み込みの Harbor レジストリ を使用した vSphere ポッド へのアプリケーションのデプロイを参照してください。