2016-10-14 3 views
0

ドッカー - 群集クラスタがあります。管理者ノードは、個人のドッカーレジストリに資格情報を保持します。他のノードで新しいコンテナを開始するときには、イメージをプライベートドッカーレジストリから取得する必要があります。Docker-swarmは、個人用ドッカー・レジストリから欠落した画像を自動的に取り込みます。

イメージを(ノードにまだ存在していない場合)プルし、クレデンシャルを提供するようにcrate containerコマンドに指示する方法はありますか?

例えば

docker create -e contraint:server==app docker.exampleRegistry.com/path/image:1.0.0 

これは、画像を引くと(別のノードでコンテナを起動する必要があります:私たちは(プライベートドッカレジストリのための資格情報を持つ)群れマネージャから次のコマンドを呼び出したいですappと表示)。ドッカーレジストリdocker.exampleRegistry.comはプライベートです。しかし、我々は得る:

Error response from daemon: unauthorized: authentication required 

答えて

0

それを得た!ドッキングウィンドウのCLIはそれを行うことができないかもしれません(どちらも私たちのJavaドライバである)が、ドッキングウィンドウのリモートAPIは、資格情報を提供するためにX-レジストリ-認証ヘッダーを使用してそれを行うことができます。

curl -v -X POST -H "Content-Type: application/json"\ 
-H "X-Registry-Auth: <base64ecoded({"username": "string", "password": "string", "email": "string", "serveraddress" : "string", "auth": ""})>"\ 
-d '{"Image": "docker.exampleRegistry.com/path/image:1.0.0", "Env": ["contraint:server==app"]}'\ 
https://localhost:2376/containers/create?name=container \ 
--key path_to_key \ 
--cacert path_to_ca 

https://github.com/docker/docker/blob/master/docs/reference/api/docker_remote_api.md#authentication

関連する問題