Docker Hubに自分で作成したDockerイメージを登録(Push)する手順まとめ
今回は自分で作成したDockerイメージをDocker Hubのリポジトリへ登録(Push)の手順についてまとめて見ました。
前提条件
以下の2点ができているこを前提に進めてきますので、作成がまだの方は各記事を参考にしてください。
- Docker Hubにアカウントが作成済み
- 登録するDockerイメージが作成済み
Docker Hubアカウントがない方
Docker Hubのアカウントの作成がまだの方は以下の記事を参考に作成してください。
Dockerイメージを未作成の方
Dccker Hubに登録したいDockerイメージが未作成の方は、以下の記事を参考に作成してください。
Docker Hubにログインする
Docker HubにDockerイメージを登録するために、まずDocker Hubにログインしましょう。
Dockerイメージの取得(Pull)であればログインは必要ありませんが、登録(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 (xxx): [自分のDockerID]
Password:<登録したパスワード>
Login Succeeded
DockerIDとパスワードを入力し、「Login Succeeded」と表示されればログイン完了です。
登録したいDockerイメージのイメージIDを確認する
「docker image ls」コマンドを実行して、ローカルにあるDockerイメージの一覧を確認しましょう。
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker_demo_flask latest 6055b6fdf511 18 hours ago 923MB
python 3.6 971c66f6a27f 2 weeks ago 914MB
今回は、「docker_demo_flask」というDockerイメージを登録対象にしたいと思います。
ここで、IMAGE IDを覚えておいてください。
上記の例の場合は、「6055b6fdf511」です。
Docker Hub登録用のリポジトリ名とタグを付けたDockerイメージを作成する
Docker Hubの自分のアカウントに登録するためにはリポジトリ名とタグ(バージョン)を付けたDockerイメージを作成する必要があります。
コマンドは以下の通りです。
$ docker tag [IMAGE ID] [自分のDockerID]/[Dockerイメージ名]:[タグ]
- IMAGE ID : 「docker image ls」コマンドで確認したIMAGE ID
- 自分のDockerID : DockerHubにログインした際のユーザ名
- Dockerイメージ名 : リポジトリとして登録したい名前(元のリポジトリ名にしておくとわかりやすい)
- タグ : バージョンと考えてよいでしょう。最新バージョンという意味にしたい場合は「latest」と付けます。
今回の例では以下のようにタグを作成しました。バージョンは1.0にしてみました。
$ docker tag 6055 <自分のDockerID>/docker_demo_flask:1.0
IMAGE IDは全て入力する必要はありません。他のリポジトリと区別できるところまでで大丈夫です。
例のように「6055b6fdf511」ではなく「6055」としても作成できます。
作成したDockerイメージを確認する
再び「docker image ls」コマンドで作成したDockerイメージを確認しましょう。
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xxxxxxxxxx/docker_demo_flask 1.0 6055b6fdf511 18 hours ago 923MB
docker_demo_flask latest 6055b6fdf511 18 hours ago 923MB
python 3.6 971c66f6a27f 2 weeks ago 914MB
[自分のDockerID]/[Dockerイメージ名]のDockerイメージが追加されましたね。
例の場合は「xxxxxxxxxx/docker_demo_flask」でTAGが「1.0」のDockerイメージです。
また、元のDockerイメージと同じIMAGE IDになっていますね。
Docker Hubに登録(push)する
では、いよいよDocker Hubに登録です。
コマンドは以下の通りです。
各パラメータは「docker tag」コマンドで指定したものと同じです。
docker push [自分のDockerID]/[Dockerイメージ名]:[タグ]
コマンドを実行するとDocker Hubにpushされていく様子がうかがえます。
$ docker push xxxxxxxxxx/docker_demo_flask:1.0
The push refers to repository [docker.io/xxxxxxxxxx/docker_demo_flask]
23fcdf60b566: Pushed
ea43a2a7e107: Pushed
9e34e51afee6: Pushed
cd9ca44fbb76: Mounted from library/python
7d5adb32ae82: Mounted from library/python
d69434471466: Mounted from library/python
7894430e5537: Mounted from library/python
3f4c8c89449b: Mounted from library/python
5c813445f7f0: Mounted from library/python
bdca38f94ff0: Mounted from library/python
faac344a1ad3: Mounted from library/python
ce8168f12337: Mounted from library/python
1.0: digest: sha256:6a4fca33749a7150975d3ace99636ce48ef3df4523290c395d7a86654e6cdd3d size: 2842
Docker Hubの画面で確認する
Docker Hubに自分のアカウントでログインするとリポジトリが登録されているか確認してみましょう。