web-dev-qa-db-ja.com

ドッカープッシュの認証方法

こんにちは、docker Pushを試しています

[docker-simple-httpserver]# docker Push myregistry/simplehttpserver:latest
The Push refers to a repository [myregistry/simplehttpserver] (len: 1)
Sending image list
FATA[0000] Error: Status 403 trying to Push repository simplehttpserver: "{\"error\": \"Unauthorized updating repository images\"}" 

docker Pushコマンドでusernamepasswordを指定する方法はありますか?

19
Jas

セキュリティ上の理由から、コマンドラインからパスワードを保持していると思います。

その方法は、最初にログインしてからプッシュすることです。

https://docs.docker.com/mac/step_six/

$ docker login --username=maryatdocker [email protected]
Password:
WARNING: login credentials saved in C:\Users\sven\.docker\config.json
Login Succeeded

次にプッシュ

$ docker Push maryatdocker/docker-whale
The Push refers to a repository [maryatdocker/docker-whale] (len: 1)
7d9495d03763: Image already exists
c81071adeeb5: Image successfully pushed
26

通常、インタラクティブdocker loginを使用してパスワードを指定し、docker Pushを実行します。

非対話型ログインの場合、-uおよび-pフラグを使用できます。

docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"

Dockerビルド用のTraavis CIドキュメントDockerログインの自動化 の例を示しています。

詳細については、 docker login を参照してください。

15
seveibar

私の知る限り、docker loginを使用する必要があります。認証情報は、/home/user/.docker/config.jsonesに続くdocker Pushに保存されます。

自動化を行っている場合は、コマンドexpectが面白いでしょう。

2
michaelbahr