首页 > 解决方案 > 如何使用私有 docker 注册表创建 docker swarm 服务

问题描述

我有一个私人 docker 注册表,当我从中提取图像时一切正常但是当我想启动一个 docker swarm 服务时:

docker service create --name myredis --network mynetwork --replicas 1 -p 6379:6379 myregistry:8082/redis

,它显示下一个错误

unable to pin image myregistry:8082/redis to digest: Head http://myregistry:8082/v2/redis/manifests/latest: no basic auth credentials

在创建 docker swarm 服务时如何使用我的本地注册表?

标签: dockerdocker-swarmdocker-registryswarm

解决方案


添加--with-registry-auth到您的docker stack deploydocker service create命令。在 swarm 中,您的主机已登录(因此您可以拉动并运行),但您的工作人员没有。这会将登录令牌从本地客户端传递到部署服务的 swarm 节点。


推荐阅读