2016-10-14 93 views
0

我們有一個碼頭羣集羣。經理節點持有我們的私人碼頭註冊表的憑證。當我們在其他節點上啓動新的容器時,圖像可能需要從私人碼頭註冊表中提取。Docker-swarm自動從私人碼頭註冊表中提取丟失的圖像

有沒有辦法告訴crate容器命令拉圖像(如果節點上還沒有),並提供憑據?

例如:我們想打電話從羣經理下面的命令(即有私人碼頭工人登記憑證):

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

相關問題