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

Docker超入門:DockerイメージをDocker Hubに公開する手順

DockerイメージをDocker Hubに公開する手順

 せっかく作ったDockerイメージ、ローカルに置いておくだけではもったいないですよね。Docker Hubに公開すれば、他のPCやチームメンバーからも簡単に利用できるようになります。ここでは、Dockerイメージを タグ付け → ログイン → アップロード → ログアウト の流れで解説します。

イメージ公開の全体像

Dockerイメージを公開するステップは以下の通りです。

  1. Dockerイメージにタグを付ける。
  2. Docker Hubにログインする。
  3. Dockerイメージをアップロードする。
  4. Docker Hubからログアウトする。

この流れを順に試していきましょう。

① Dockerイメージのタグ付け

 Docker Hubにアップロードするには、イメージに適切なタグを付ける必要があります。タグは「ユーザー名/イメージ名:バージョン」という形で付与します。

コマンドの書式

docker image tag <ローカルイメージ名> <DockerHubユーザー名>/<イメージ名>:<タグ>

実行例

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

 この場合、ubuntu-echo というローカルイメージに infralinux1/ubuntu-smp:1.0 というタグを付与します。

出力例

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

タグが付いたかは以下で確認します。

出力例

PS C:\Users\joeac>docker image ls
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
infralinux1/ubuntu-smp   1.0       83e81b62b3c4   12 days ago   117MB
ubuntu-echo              latest    83e81b62b3c4   12 days ago   117MB
ubuntu                   latest    353675e2a41b   12 days ago   117MB

② Docker Hubへのログイン

Docker Hubにアクセスするためにログインします。

コマンドの書式

docker login

コマンドを実行すると、ユーザー名とパスワードを入力するよう求められます。

  • Username: Docker Hubのユーザー名
  • Password: 登録したパスワードまたはアクセストークン

 もし、Docker DesktopでGoogleやGitHubアカウント連携している場合は、GUIからの「Sign In」でもOKです。また、認証情報がローカルにある場合も、ユーザー名とパスワードの入力は省略されます。

出力例

PS C:\Users\joeac> docker login
Authenticating with existing credentials... [Username: infralinux1]

i Info → To login with a different account, run 'docker logout' followed by 'docker login'


Login Succeeded

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

ログインできたら、いよいよイメージをDocker Hubにアップロードします。

コマンドの書式

docker image push <DockerHubユーザー名>/<イメージ名>:<タグ>

実行例

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]
eb2ec5c56341: Pushed
953cdd413371: Mounted from library/ubuntu
1.0: digest: sha256:83e81b62b3c4e064ce500ca203c01da5b101b857fe54bb71fbd1984af610ee0d size: 855

 実行すると、ローカルのイメージがDocker Hubに転送されます。完了後、Docker Desktopの「Images → Hub」タブやDocker HubのWebサイトからイメージが確認できます。

④ Docker Hubからログアウト

アップロードが完了したら、セキュリティのためログアウトしておきましょう。

コマンドの書式

docker logout

出力例

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

 実行すると、保存されていた認証情報が削除されます。GUIの場合は、Docker Desktopのメニューから「Sign Out」を選択すればOKです。

Docker Hubリポジトリにあるイメージの削除

 Docker Hubのリポジトリにあるイメージを削除するには、Docker Hubのウェブサイトにアクセスし、リポジトリの「Tags」ページから削除対象のイメージを選択後、「Action」メニューから「Delete」をクリックします。

Docker Hubウェブサイトから削除する方法

  1. Docker Hubにアクセスする
    ブラウザでDocker Hubを開き、サインインします。
  2. リポジトリを選択する
    削除したいイメージが含まれるリポジトリに移動します。
  3. イメージタグを選択する
    「Tags」タブをクリックし、削除したいイメージのタグを選択します。
  4. 「Delete」を選択する
    画面右上部の「Delete」をクリックします。
  5. 確認する
    表示される確認画面で再度「Delete」をクリックして削除を完了します。

コマンドとオプションまとめ

コマンド主な用途主なオプション
➀docker image tagイメージにタグを付与する。なし
➁docker loginDocker Hubにログインする。-u ユーザー名
-p パスワード(非推奨、代わりに対話入力推奨)
➂docker image pushイメージをDocker Hubにアップロードする。なし
➃docker logoutDocker Hubからログアウトする。なし

まとめ

DockerイメージをDocker Hubに公開する流れはとてもシンプルです。

  1. タグを付ける。
  2. ログインする。
  3. pushでアップロード
  4. ログアウトする。

この手順を覚えれば、自分が作ったイメージを世界中の開発者と簡単に共有できるようになります。