Closed4
自作のDockerImageをDockerHubにpushしてみる
前提条件
- DockerHubでリモートリポジトリ作成済み
- ローカルで
docker build
済み
実行環境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
$ docker -v
Docker version 27.1.1, build 6312585
docker cliからdockerHubにログイン
$ docker login -u ユーザー名 -p パスワード
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /home/ubuntu/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credential-stores
Login Succeeded
警告! CLI 経由で --password を使用するのは安全ではありません。--password-stdin を使用してください。
警告! パスワードは暗号化されずに /home/ubuntu/.docker/config.json に保存されます。
この警告を削除するには、認証ヘルパーを構成してください。参照:
https://docs.docker.com/engine/reference/commandline/login/#credential-storesログインに成功しました
パスワードがシェルの履歴に残るから危ないよ~ということらしい
とりあえずそのまま進める
ローカルのimageとDockerHubのリモートリポジトリを紐づける
docker tag <ローカルのimageID> <アカウント名>/<リモートリポジトリ名>:<タグ名
例えばこんな感じ↓
ローカルにある ID 「0e5574283393」イメージを、「fedora」リポジトリの「version 1.0」とタグ付けします。
docker tag 0e5574283393 fedora/httpd:version1.0
https://docs.docker.jp/engine/reference/commandline/tag.html#docker-stop-examples
ローカルのimageIDはdocker images
のIMAGE IDからとってくる
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
DockerHubにpush
docker push <アカウント名>/<リモートリポジトリ名>:<タグ名>
なんかうごきだした~
$ docker push hoge/fuga:test
The push refers to repository [docker.io/hoge/fuga]
02419b795649: Pushed
9ab0306716a1: Pushed
df46f78d1e9a: Pushed
...
終わったみたいなので確認
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
hoge/fuga test 6578178b9f63 38 minutes ago 913MB
デキタ!
このスクラップは3ヶ月前にクローズされました