Docker Hubへのpushとpull(メモ)

Docker Hubへのpushとpull

push,pullとは

push・・・Docker Hubへ作成したイメージをアップロードすること。
pull・・・Docker Hubからイメージをダウンロードすること。

Docker Hubの登録

DockerHub
ここでアカウント作成
- DockerID - Email - Password 認証メールが届くので、認証して登録完了

Create a Repository

f:id:zare926:20220115073432p:plain ※2022/1/14時点のリポジトリを作成してない場合の画面
Create a Repositoryをクリック
f:id:zare926:20220115073428p:plain プルダウンのメニューはアカウントを選びます。
Nameはリポジトリの名前
Descriptionは説明書き
PublicとPrivateの選択ができますが、アカウント作成時に無料プランを選んでいる場合Privateは1つまでです。
作成後Privateのリポジトリを削除すれば別Privateリポジトリを作れます。

レジストリサーバーへのログイン

次にDocker Hubへログインをして、作成したイメージをDocker Hubへpushのやり方。

$ docker login

上記がログインコマンド

$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username:登録したユーザー名を入力
Password:パスワードを入力 // 入力中は見えませんが、そのまま入力してください

Login Succeeded //これが出ればOK!

ログイン完了

Docker Hubにおけるタグ付ルール

<Docker ID>/<イメージ名>:<タグ名>
// タグ名は省略可能

上記の形式でタグ付けする必要あり
タグ名を省略すると自動でlatestになる。

まずはタグ付け
今回はdocker-whaleというイメージをpushするので、docker-whaleにタグ付けします。

$ docker tag docker-whale ユーザー名/docker-whale:ver1

Push!

次にPushコマンド

$ docker push <Docker ID>/<イメージ名>:<タグ名>

今回だとこのようなコマンドになる

$ docker push ユーザー名/docker-whale:ver1

The push refers to repository [docker.io/zare926/docker-whale]
f5b6ab1593d7: Pushed
5f70bf18a086: Mounted from docker/whalesay
d061ee1340ec: Mounted from docker/whalesay
d511ed9e12e1: Mounted from docker/whalesay
091abc5148e4: Mounted from docker/whalesay
b26122d57afa: Mounted from docker/whalesay
37ee47034d9b: Mounted from docker/whalesay
528c8710fd95: Mounted from docker/whalesay
1154ba695078: Mounted from docker/whalesay
ver1: digest: sha256:3a7d145a0d7c829585da330c031169048c246e9864585be6d6093a0411c2255f size: 2614

Pushされてました。 f:id:zare926:20220115073600p:plain

Pull!

一度ローカルから先程pushしたイメージを削除して、Docker Hubからpullします。

$ docker rmi -f イメージのID

あとはpushコマンドのpushをpullに変えるだけ

$ docker pull ユーザー名/docker-whale:ver1

ver1: Pulling from zare926/docker-whale
e190868d63f8: Already exists
909cd34c6fd7: Already exists
0b9bfabab7c1: Already exists
a3ed95caeb02: Already exists
00bf65475aba: Already exists
c57b6bcc83e3: Already exists
8978f6879e2f: Already exists
8eed3712d2cf: Already exists
24b8cff02913: Already exists
Digest: sha256:3a7d145a0d7c829585da330c031169048c246e9864585be6d6093a0411c2255f
Status: Downloaded newer image for zare926/docker-whale:ver1
docker.io/zare926/docker-whale:ver1

これで権限さえあればどのPCでも同じ環境を用意できるという状態にできるということ!