■ はじめに
https://dk521123.hatenablog.com/entry/2023/12/02/024631
で、AWS ECRへの登録した。 近々、また、AWS ECRにDockerイメージを登録しそうなので 今回は、Docker Hub へ独自のDockerイメージ登録することを通して、 復習をしていきたい。
目次
【1】今回、必要なこと 【2】注意点 【3】前準備 1)Docker Hub アカウント登録 2)Docker Hub リポジトリ作成 【4】Docker Hub への登録手順 Step1: Dockerfile作成 Step2: docker image buildコマンド実行 Step3: docker loginコマンド実行 Step4: docker image pushコマンド実行 Step5: 動作確認
【1】今回、必要なこと
以下の遷移図から分かるように、 Docer Hub に登録するには、以下が必要。 ~~~~ [1] Docker imageを作る [2] docker image push で登録する ~~~~
遷移図
+------------+ | Docker Hub | +------------+ | ↑ pull | | push ↓ | +------------+ build +--------------+ | Dockerfile | ------> | Docker Image | +------------+ +--------------+
【2】注意点
* Docker イメージ名は、 【Docker Hub ユーザ名/Docker Hub リポジトリ名】 でなくてはならない => 今回の場合、【your_user/first_hello_repo】になる
【3】前準備
* 以下を行う必要がある 1)Docker Hub アカウント登録 2)Docker Hub リポジトリ作成
1)Docker Hub アカウント登録
* 以下のURLをアクセスし、アカウント登録する
2)Docker Hub リポジトリ作成
[1] 以下のURLにアクセス
[2] [Repositories] タブ押下 [3] [Create Repository] ボタン押下して、 リポジトリを作成する => 今回は、「first_hello_repo」 => ついでに「Docker commands」(※) の Pushコマンドをコピーしておく
※ Docker commands
# To push a new tag to this repository: # docker push [UserName]/[Repository]:[TagName] docker push your_user/first_hello_repo:tagname
【4】Docker Hub への登録手順
* やるべきことは、以下の通り。 Step1: Dockerfile作成 Step2: docker image buildコマンド実行 => ここまでは「[1] Docker imageを作る」 Step3: docker loginコマンド実行 Step4: docker image pushコマンド実行 => ここまでは「[2] docker image push で登録する」 Step5: 動作確認 * なお、各コマンドについては、以下の関連記事を参照のこと
Docker ~ 基本編 / レポジトリに関するコマンド ~
https://dk521123.hatenablog.com/entry/2023/01/21/000000
Step1: Dockerfile作成
オリジナルのDocker imageを作成するために Dockerfileを作成する
Dockerfie
FROM nginx:latest WORKDIR /usr/share/nginx/html COPY index.html index.html RUN apt update
index.html
<html> <body>Hello World for Docker</html> </html>
Step2: docker image buildコマンド実行
* docker buildコマンドで、Dockerイメージ作成する => 注意点でも書いたが、「イメージ名は【ユーザ名/リポジトリ名】になる」
コマンド例
# ファイル確認 $ ls Dockerfile index.html # -t: タグを イメージ名(=ユーザ名/リポジトリ名):タグ の形式で指定 # docker image build -t ユーザ名/リポジトリ名[:タグ名] [Dockerfileパス] $ docker image build -t your_user/first_hello_repo:v0.0.1 . # 確認 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE your_user/first_hello_repo v0.0.1 XXXXXXXXX 17 minutes ago 206MB
Step3: docker loginコマンド実行
* docker login する
コマンド例
docker login --username your-user
Step4: docker image pushコマンド実行
コマンド例
# 別タグをつける場合 # docker image tag [イメージID] [ユーザ名]/[リポジトリ名]:[タグ] # docker image tag XXXXXXXXX your_user/first_hello_repo:v0.0.1a # 確認 # docker image ls # Step4: Push # docker push [UserName]/[Repository]:[TagName] docker push your_user/first_hello_repo:v0.0.1
Step5: 動作確認
* 以下のURLで作成したリポジトリに Imageタグ「v0.0.1」があるか確認する
参考文献
https://gray-code.com/blog/container-image-push-for-dockerhub/
https://zenn.dev/katan/articles/1d5ff92fd809e7
関連記事
Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/02/25/000000
Docker ~ 基本編 / Dockerfile ~
https://dk521123.hatenablog.com/entry/2020/04/14/000000
Docker ~ 基本編 / レポジトリに関するコマンド ~
https://dk521123.hatenablog.com/entry/2023/01/21/000000
Docker ~ 基本編 / docker imageコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Amazon ECR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/22/165711
Amazon ECR ~ Dockerイメージを Pull & Push ~
https://dk521123.hatenablog.com/entry/2023/12/02/024631