簡體   English   中英

Docker-swarm自動從私有docker-registry中提取丟失的圖像

[英]Docker-swarm automatically pulling missing image from private docker-registry

我們有一個docker-swarm集群。 Manager節點將憑據保存到我們的私有Docker注冊中心。 當我們在其他節點上啟動新容器時,可能需要從私有Docker注冊表中提取映像。

有沒有辦法告訴crate容器命令拉取映像(如果節點上尚不存在)並為其提供憑據?

例如:我們要從群管理器(具有私有Docker注冊表的憑據)中調用以下命令:

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

這應該提取圖像並在另一個節點(標記為app )上啟動一個容器。 docker.exampleRegistry.com注冊表docker.exampleRegistry.com是私有的。 但是我們得到:

Error response from daemon: unauthorized: authentication required

得到它了! docker cli可能無法做到這一點(我們的java驅動程序也沒有),但是docker remote API可以使用X-Registry-Auth頭來提供憑據:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM