Docker imageをdockerhubに登録してみる


やりたいこと

  • dockerhubに、自作のdockerイメージを登録したい。
  • 登録してみることが今回の目的なので、非常にシンプルなイメージにしている。

環境

  • ローカルのDockerバージョン 19.03.12
  • macOS Catalina バージョン10.15.5

手順

準備

  • dockerhubのアカウントを作成する。
  • 以下のようなディレクトリを作成する
dockerhub_manually_push/
  ├ Dockerfile
  └ hello.txt
  • Dockerfileには以下のように記述。
FROM ubuntu

COPY hello.txt /tmp/hello.txt

CMD ["cat", "/tmp/hello.txt"]
  • hello.txtには以下のように記述。
manually push success!

イメージのビルド

  • 以下をdockerhub_manually_pushにて実行。
  • hogeuserは、dockerhubのユーザ名に変更してください。
docker build -t hogeuser/dockerhub_manually_push .
  • 実行結果はこんなかんじ
Sending build context to Docker daemon  3.072kB
Step 1/3 : FROM ubuntu
 ---> 4e2eef94cd6b
Step 2/3 : COPY hello.txt /tmp/hello.txt
 ---> f8dffefe0e98
Step 3/3 : CMD ["cat", "/tmp/hello.txt"]
 ---> Running in cc00ea9b80e1
Removing intermediate container cc00ea9b80e1
 ---> 8f10f2bddeae
Successfully built 8f10f2bddeae
Successfully tagged hogeuser/dockerhub_manually_push:latest
  • docker imagesまたは docker image lsコマンドで、イメージが作成されたか確認
❯ docker images
REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
hogeuser/dockerhub_manually_push            latest              8f10f2bddeae        4 seconds ago       73.9MB

dockerhubにログイン

❯ docker login
Authenticating with existing credentials...
Login Succeeded

dockerhubにイメージを登録

docker push hogeuser/dockerhub_manually_push:latest

dockerhubを確認

  • Repositoriesの画面から、イメージを確認できた。

登録したイメージをpullして実行

  • Play with Docker」という、ブラウザ上のDocker実行環境を使用してみる。
    • ここには、linuxOSとDocker(version20.10.0)のみが準備されている。
  • 「Start」→「ADD NEW INSTANCE」でコンソールが起動する。

  • 以下コマンドで、先程dockerhubに登録したイメージを持ってくる。
docker pull hogeuser/dockerhub_manually_push

以下実行結果。

$ docker pull hogeuser/dockerhub_manually_push
Using default tag: latest
latest: Pulling from hogeuser/dockerhub_manually_push
54ee1f796a1e: Pull complete 
f7bfea53ad12: Pull complete 
46d371e02073: Pull complete 
b66c17bbf772: Pull complete 
9d7f6024b75c: Pull complete 
Digest: sha256:da97805c1f3f1578ce661c71df17e8bdaabc905662afa71d3202d5d56287f431
Status: Downloaded newer image for hogeuser/dockerhub_manually_push:latest
docker.io/hogeuser/dockerhub_manually_push:latest

イメージがローカルに保存できた。

$ docker images
REPOSITORY                             TAG       IMAGE ID       CREATED          SIZE
hogeuser/dockerhub_manually_push   latest    8f10f2bddeae   10 minutes ago   73.9MB
  • イメージからコンテナを起動し、実行する
$ docker run hogeuser/dockerhub_manually_push
manually push success!

テキストの内容が表示されたので、問題なく実行できたようです。

参考にさせていただいたサイトなど