プライベートリポジトリにDockerイメージをプッシュする方法
私はme/my-imageというタグのついたdockerイメージを持っており、me-privateという名前のプライベートリポジトリをdockerhub上に持っています。 私のme/my-imageをプッシュしても、結局いつも公開リポジトリにヒットしてしまいます。
自分のイメージをプライベートリポジトリにプッシュするには、どのような構文が必要でしょうか?
362
3
まず、あなたの
registryhost
で画像を正しくタグ付けする必要があります。その後、同じタグを使ってdocker pushします。
例
まずDocker Hubのアカウントにアクセスして、レポを作成します。以下は私のDocker Hubアカウントのスクリーンショットです。 .
このスクリーンショットから、私のレポが "chuangg "であることがわかります。
レポに入って、画像の名前をクリックしてプライベートにします。私の場合は、「chuangg/gene_commited_image」をクリックし、「設定 -> 非公開にする」に進みました。そして、画面の指示に従います。 .
docker hubにdockerイメージをアップロードする方法
**方法1=コマンドライン(cli)を使ってイメージをアップロードする。
docker commit /
はい、コンテナIDでなければならないと思います。おそらくイメージIDではないと思います。
例えば=
docker commit 99e078826312 chuangg/gene_commited_image
のようになります。docker run -it chaung/gene_commited_image
とする。docker login --username= --password=
例=
docker login --username=chuangg --email=gc.genechaung@gmail.com
はい、最初にログインする必要があります。"docker logout "を使ったログアウト
docker push chuangg/gene_commited_image
を実行します。**方法2=pom.xmlとコマンドラインを使ってイメージをプッシュする方法です。
ここでは、"build-docker "というMaven Profileを使用しています。プロファイルを使用したくない場合は、
, , build-docker
の要素を削除してください。親のpom.xmlの中。
pom.xmlが置かれているディレクトリからDocker ImageをデプロイするDocker Terminalコマンド=
mvn clean deploy -Pbuild-docker docker:push
.なお、#2の方法と#3の方法の違いは、#3の方法ではデプロイのために``が追加されていることです。
方法#3= Mavenを使ってDocker Hubに自動的にデプロイする。
この内容を親のpom.xmlに追加します。
C:Users\Gene.docker\ディレクトリに移動し、config.jsonファイルに以下を追加します。 .
ここで、Docker Quickstart Terminal で type=
mvn clean install -Pbuild-docker
と入力します。Maven Profilesを使っていない人は、
mvn clean install
と入力してください。以下は成功メッセージのスクリーンショットです。 .
以下はpom.xmlの全文とディレクトリ構造のスクリーンショットです。
|project> これが私のEclipseディレクトリです。 .
これが私のDockerfileです。
コモンエラー#1です。 .
エラー#1の解決策= `
をmavenのデプロイフェーズと同期させないでください。そうすると、mavenはイメージを2倍にデプロイしようとし、jarにタイムスタンプを付けるからです。これが、
install`を使用した理由です。2つの選択肢があります。
1.ハブに入って、最初にリポジトリを作成し、それをプライベートとしてマークします。そうすると、そのリポジトリにプッシュすると、プライベートになります。これが最も一般的な方法です。
2.docker hubのアカウントにログインし、global settingsに行きます。そこには、プッシュしたリポジトリのデフォルトの可視性を設定することができる設定があります。デフォルトではpublicに設定されていますが、これをprivateに変更すると、プッシュするすべてのリポジトリがデフォルトでprivateとしてマークされます。アカウントに十分な数のプライベートリポジトリを用意しておかないと、プランをアップグレードするまでリポジトリがロックされてしまうことに注意してください。