今回はローカルのコンテナイメージを、
DockerHubのプライベートリポジトリへPUSHしてみようと思います。
- ■前提
- ■PUSH対象のコンテナイメージについて
- ■PUSHまでの流れ
- ■1.hello-worldコンテナイメージをPULL(事前準備)
- ■2.PUSH用のコンテナイメージの作成(=タグ付け)
- ■3.docker pushコマンドの実行
- ■4.ブラウザからDockerHubへ接続し、プライベートリポジトリの内容を確認
■前提
① プライベートリポジトリが作成済み
まだの方は以下の記事を参考に、プライベートリポジトリを作成してみてください。
② docker loginコマンドを実行し、DockerからDockerHubアカウントへの接続が可能
まだの方は以下の記事を参考に、docker loginコマンドを実施してみてください。
■PUSH対象のコンテナイメージについて
今回は、容量が小さいhello-worldコンテナイメージを、プライベートリポジトリにPUSHします。
※hello-worldコンテナイメージ以外でももちろん良いです。
■PUSHまでの流れ
1.hello-worldコンテナイメージをPULL(事前準備)
2.PUSH用のコンテナイメージの作成(=タグ付け)
3.docker pushコマンドの実行
4.ブラウザからDockerHubへ接続し、プライベートリポジトリの内容を確認
■1.hello-worldコンテナイメージをPULL(事前準備)
1.以下コマンドを実行します。
docker pull hello-world docker images
※hello-worldの「IMAGE ID」を後ほど使います。
■2.PUSH用のコンテナイメージの作成(=タグ付け)
DockerHubのリポジトリ(プライベート/パブリックともに)にコンテナイメージをPUSHするためには、
PUSH対象のコンテナイメージにDockerHubの命名規則に則った名前を付ける必要があります。
命名規則は以下の通りです。
DockerHubアカウント名/リポジトリ名:タグ名
DockerHubアカウント名がtestuser、リポジトリ名がtestrepo、タグ名がfirst とした場合には、
testuser/testrepo:first
が命名規則に則った名前となります。
※タグ名は任意でつけることができます。hello-world1 とかでも構いません。
※リポジトリ名はプライベートリポジトリを指定します。
(パブリックリポジトリを指定してもコマンド自体は通ります。)
タグ名を付けるためにはdocker tagコマンドを使います。
docker tag bf756fb1ae65 testuser/testrepo:first
【docker tagコマンドの書式】
docker tag PUSH対象のコンテナイメージのID DockerHubアカウント/リポジトリ名:タグ名
■3.docker pushコマンドの実行
では、実際にプライベートリポジトリにPUSHしてみようと思います。
docker push testuser/testrepo:first
【docker pushコマンドの書式】
docker push DockerHubアカウント/リポジトリ名:タグ名
■4.ブラウザからDockerHubへ接続し、プライベートリポジトリの内容を確認
ここまでくれば、後はブラウザからDockerHubのリポジトリ(Repositories)を確認するだけです。
プライベートリポジトリ内に、今回PUSHしたコンテナイメージが格納されていることを確認してみてください。
下記は一例ですが、latestとfirstというコンテナイメージが格納されている状態です。
以上です。