はじめに
似たようなコンテナを毎回作成するという非効率なことを行っていたので、Docker HubにPushしてみようと思い立った。
手順
手探りでやってみたところ、以下の手順でできた。
- Docker Hubでリポジトリを作成
- コンテナを作成
- 作成したコンテナをコミット
- docker tag
- docker login
- docker push
1. Docker Hubでリポジトリを作成
Docker Hubで、Create Repositoryを押して、リポジトリを作成する。
2. コンテナを作成
Dockerfileを用意して好きなコンテナを作成する。
ここでは、docker-compose.ymlを使用してコンテナをビルドした。
ビルドに使用したファイルはGitHubで管理している。
3. 作成したコンテナをコミット
docker ps
で起動中のコンテナのCONTAINER IDがわかる。
そのCONTAINER IDを使用して、以下の文でコミットする。
:<tag>
は入れても入れなくても良い。デフォルトだと、:latest
となる。
docker container commit <container-id> <hub-user>/<repo-name>[:<tag>]
4. docker tag
下記コマンドを入力して、Imageにリポジトリ名をタグ付けする。
docker tag <image-id> <repo-name>
5. docker login
下記コマンドを入力後、ユーザー名とパスワードを入力してログインする。
docker login
ログイン成功したら、Login Succeeded
と表示される。
6. docker push
下記コマンドを入力して、Docker Hubにpushする。
docker push <hub-user>/<repo-name>[:<tag>]
参考