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

手順

  1. vSphere Docker 認証情報ヘルパーを使用して Harbor レジストリ にログインします。
    docker-credential-vsphere login <container-registry-IP> --user username@domain.com
    注: ログイン時に --user username を指定することは可能ですが、UserPrincipalName (UPN) 構文 ( --user username@domain.com ) を使用してログインし、 docker push コマンドを使用する必要があります。
  2. 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
    
  3. イメージを 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
    
  4. 組み込みの Harbor レジストリでイメージが使用可能になったことを確認します。
    • 組み込みの Harbor レジストリ コンソールへのログイン
    • [プロジェクト] > [プロジェクト名] にあるプロジェクトのリンクをクリックします。
    • [リポジトリ] タブを選択します。
    • レジストリにプッシュしたイメージが、namespace/image-name の形式(tkgs-cluster-ns/hello-world など)で表示されます。
    • このイメージを選択すると、latest タグおよびその他のメタデータが表示されます。
  5. [リポジトリ] タブに戻ります。
  6. [イメージ 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 ポッド へのアプリケーションのデプロイを参照してください。