自由気ままに書いちゃおう

好きなことをつらつらと・・・

【docker】docker pushコマンドの実行

今回はローカルのコンテナイメージを、
DockerHubのプライベートリポジトリへPUSHしてみようと思います。

■前提

① プライベートリポジトリが作成済み
  まだの方は以下の記事を参考に、プライベートリポジトリを作成してみてください。

www.guri2o1667.work

 
② docker loginコマンドを実行し、DockerからDockerHubアカウントへの接続が可能
  まだの方は以下の記事を参考に、docker loginコマンドを実施してみてください。

www.guri2o1667.work

 

■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

f:id:guri2o1667:20201103111853p:plain

f:id:guri2o1667:20201103112002p:plain

※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)を確認するだけです。

f:id:guri2o1667:20201103113941p:plain

プライベートリポジトリ内に、今回PUSHしたコンテナイメージが格納されていることを確認してみてください。

下記は一例ですが、latestとfirstというコンテナイメージが格納されている状態です。

f:id:guri2o1667:20201103114110p:plain



以上です。