13.8. イメージの転送
イメージをあるコンテナーイメージレジストリーから別のコンテナーイメージレジストリーに移動するには、oc image mirror
コマンドを使用します。イメージはローカルに保存されることなく、レジストリーからレジストリーにストリーミングされます。
たとえば、イメージを Docker Hub から統合レジストリーにコピーするには、以下のコマンドを使用します。
$ oc image mirror docker.io/library/busybox:latest 172.30.0.0/16/myproject/toybox:latest
docker.io
を送信元および宛先で使用する場合、docker.io
および library
コンポーネントを省略することはできません。最新のタグを取得する必要がある場合は、latest
を省略しないでください。
イメージを一度に複数の場所にコピーすることができます。これを実行するには、複数の宛先を指定する必要があります。
$ oc image mirror 172.30.0.0/16/myproject/busybox:latest docker.io/myrepository/busybox:stable docker.io/myrepository/toybox:dev
oc image mirror
は OpenShift Container Platform クラスター内ではなく、ローカルに実行されます。そのため、oc image mirror
には送信元と宛先レジストリーへのアクセスが必要になります。
コンテナーイメージレジストリーでイメージをプルまたはプッシュするための認証が必要な場合、docker login
コマンドを使用して手動でログインしてから、oc image mirror
コマンドを実行する必要があります。Jenkins エージェントイメージ内でコマンドを使用しているなどの理由で docker バイナリーおよびデーモンへのアクセスがない場合、oc image mirror
を起動する前に、ユーザーのホームディレクトリーの有効な認証情報を含む .docker/config.json
ファイルを手動で指定することができます。