Adachinですっ。
Docker Hubみなさん活用してますか!?
GitHubのインフラ版と言っても過言ではない!
Docker初心者頃の自分はオリジナルコンテナをpushしようと思ったら、
まったくpushできず。。。。
「unauthorized: authentication required」
こんなエラーが出たので、今回はDocker Hubにpushする方法をまとめます。
■エラー名
1 2 3 4 5 |
root@docker:~# docker push adachin/nginx_centos6 The push refers to a repository [docker.io/adachin/nginx_centos6] 5d3ef70148b4: Preparing 3ee473a9522d: Waiting unauthorized: authentication required |
あれ〜pushできないよ〜(´・ω・`)
1 2 3 4 5 6 |
root@docker:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tvirus17/mysql_centos6 latest f93c0bc7653b 9 minutes ago 644.4 MB adachin/nginx_centos6 latest 477d42ee590f 6 weeks ago 442.1 MB centos 6 d0a31e3494fe 7 weeks ago 228.9 MB centos 7 d0e7f81ca65c 7 weeks ago 196.6 MB |
むむむ
docker loginもしてるんだけどなあ・・・
■そもそもREPOSITORY名が間違っていた件
そもそもDocker Hubのアカウント名はなんだっけから始めます。
まずpushするまでの流れを書いときます。
1.commit
1 |
$ docker commit -m "fix nginx" 現在動いているID(docker psで) DockerHubアカウント名/nginx_centos6:なんでも |
2.タグ付け
commitをするとイメージに新しくできているのでそのIDを指定します。
1 |
$ docker tag イメージID DockerHubアカウント名/nginx_centos6:なんでも |
僕のDocker Hubアカウント名は「tvirus17」なので、
上記のpushエラーは「認識失敗(アカウント名が違うよ!!!)」なのです。
そもそもこれがリポジトリ名になるのです。気をつけましょうw
タグ名も分かりやすく。
3.Docker Hub にログイン
1 2 3 4 5 6 |
$ 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: ユーザ名 ←自分のユーザ名 Password: ←パスワード Login Succeeded |
ここは何も心配いらないかと。
4.Docker push
1 |
$ docker push DockerHubアカウント名/nginx_centos6:先ほど付けたタグ名 |
自分の場合だと、
1 |
$ docker push tvirus17/nginx_centos6:latest |
あとは毎回作ったコンテナをcommitしてpushすればOKです。
■イメージの削除
タグ付けしまくるといらないイメージが増えまくるので削除しましょう。
・tvirus17/nginx_centos6:latest01というイメージがいらない場合
1 |
$ docker rmi tvirus17/nginx_centos6:latest01 |
・そもそもこんなイメージがいらない場合
1 |
$ docker rmi –f イメージID |
ちなみに-fは強制的という意味です。
■気になるイメージを手に入れたいとき
https://hub.docker.com/explore/
にて専用イメージファイルがたくさんあります。
1 |
$ docker pull リポジトリ名 |
gitとあまり変わらない
■まとめ
これでじゃんじゃんpushして、素早く開発環境とか作っちゃいましょう。
次回はAlpine Linuxについてブログしやす!
0件のコメント