このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Dockerイメージを公開する

ここでは、作成したイメージをDocker Hubに公開(アプロード)します。

下図でいうと「⑤イメージの公開」のところになります。

イメージ公開の流れ

イメージを公開するステップは以下のようになります。

①Docker イメージのタグ付け
②Docker Hub へのログイン
③Docker イメージのアップロード
④Docker Hub からログアウト

それでは、各ステップを一つずつ試していくことにします。

① Docker イメージのタグ付け

 最初に、ローカルでビルドされた Docker イメージに適切なタグを付けます。タグは、イメージのバージョンやリリースを識別するのに役立ちます。例えば、「docker image tag」 コマンドを使用して、イメージに適切な名前を付けることができます。

Docker Hub に登録するイメージは以下の構文に従う必要があります。

【構文】
Docker Hubのユーザー名/イメージ名:[タグ名]

docker image tag ubuntu-echo infralinux1/ubuntu-smp:1.0

docker image tagubuntu-echo infralinux1/ubuntu-smp:1.0
イメージにタグ付けするベースイメージDocker Hub上のユーザー名区切りイメージ名タグ名
コマンド構文

・「docker image tag ubuntu-echo infralinux1/ubuntu-smp:1.0」コマンドを実行します。

PS C:\Users\joeac> docker image tag ubuntu-echo infralinux1/ubuntu-smp:1.0

・「docker image ls」コマンドで確認します。

PS C:\Users\joeac> docker image ls
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
ubuntu                   latest    ca2b0f26964c   13 days ago   77.9MB
infralinux1/ubuntu-smp   1.0       9a9568f10c24   13 days ago   77.9MB
ubuntu-echo              latest    9a9568f10c24   13 days ago   77.9MB

「infralinux1/ubuntu-smp」が「1.0」でタグ付けされていることが確認できます。

② Docker Hub へのログイン

 次に、Docker Hub にログインします。Docker Hub は、Docker イメージのレジストリであり、イメージを保存し、共有するためのプラットフォームです。「docker login」コマンドを使用して、Docker Hub アカウントにログインします。

・Docker Desktopでサインインしていない場合は、「docker login」コマンドを実行します。

Docker Hub で作成したユーザー名、パスワードを入力します。

Username・・・作成したユーザー名を入力
Password・・・該当するパスワードを入力

 Docker Desktopでサインインしていない場合は、以下のようにUsername、Passwordを入力してログインします。。

PS C:\Users\joeac> docker login
Log in with your Docker ID or email address 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.
You can log in with your password or a Personal Access Token (PAT). Using a limited-scope PAT grants better security and is required for organizations using SSO. Learn more at https://docs.docker.com/go/access-tokens/

Username: infralinux1 # ユーザー名を入力
Password:        # パスワードを入力


 下図のように「Docker Desktop」上でサインインしている場合は、コマンドでのログイン操作は必要ありません。GoogleアカウントでDocker Hubに登録している場合は、こちらから「Sign in」する方が便利です。

③ Docker イメージのアップロード

 ログインしたら、タグ付けされた Docker イメージを Docker Hub にアップロードします。これには、「docker image push」コマンドを使用します。このコマンドを使用すると、ローカルのイメージがリモートの Docker Hub にアップロードされます。

・Docker Desktopの「Images」タブ内の「Hub」タブを確認します。

Docker Hub上にアップロードされているイメージはまだありません。


コマンドの構文は以下となります。

docker image push infralinux1/ubuntu-smp:1.0

docker image push infralinux1/ubuntu-smp:1.0
イメージのアップロードDocker Hub上のユーザー名区切りイメージ名タグ名
コマンド構文

・「docker image push infralinux1/ubuntu-smp:1.0」コマンドを実行します。

PS C:\Users\joeac> docker image push infralinux1/ubuntu-smp:1.0
The push refers to repository [docker.io/infralinux1/ubuntu-smp]
5498e8c22f69: Mounted from library/ubuntu
1.0: digest: sha256:e3be8338a6f55fb6f16d5a56a6eff6cb1a5b3ffce19f0bcbf151f64d8e50cc9c size: 529

・再度、Docker Desktopの「Images」タブ内の「Hub」タブを確認します。

Docker Hub上にイメージがアップロードされています。

④ Docker Hub からログアウト

 最後に、アップロードが完了したら、セキュリティ上の理由から Docker Hub からログアウトします。「docker logout」コマンドを使用してログアウトコマンドを実行しするか、Docker Desktopから「Sign Out」します。

Docker Desktopから「Sign Out」するには、下図の赤枠のところをクリックします。


コマンドでログアウトするには以下のコマンドを実行します。

・「docker logout」コマンドを実行します。

PS C:\Users\joeac> docker logout
Removing login credentials for https://index.docker.io/v1/

 これで、Docker イメージのアップロード処理が完了しました。これにより、他の開発者やチームメンバーがイメージを共有し、必要に応じてデプロイすることができます。