私有注册表映像作为docker swarm服务

时间:2018-11-06 08:26:27

标签: docker docker-swarm

首先,要提一下,我在Stackoverflow中检查了多个问题,但要求有些不同,或者所提供的解决方案在我的情况下不起作用,因此请考虑创建一个新问题。

  1. 我正在使用本地注册表,也能够从所有工作程序节点推送/拉取图像
  2. 注册服务已在所有节点上启动并运行
  3. 在创建我已推送到docker的本地映像服务时出现问题。 问题: overall progress: 0 out of 1 tasks 1/1: ready [======================================> ] verify: Detected task failure

我已经完成的步骤:

  1. docker service create --name registry --publish 5000:5000 armbuild/registry(我的武器是raspi,所以使用过的臂章)

  2. docker tag XYZImage localhost:5000/XYZImage->运行正常

  3. docker push localhost:5000/XYZImage->运行正常

  4. docker service create --name XYZService --replicas 2 localhost:5000/XYZImage->问题 注意:即使我尝试使用IP地址并将该地址添加到daemon.json文件中不安全的注册表中。

任何线索?还是我想念什么?

1 个答案:

答案 0 :(得分:0)

每个容器或节点都在写入其自己的卷(/ var / lib / registry)。如果要使用副本,则必须使用分布式存储驱动程序。

来自documentation

  

您使用的存储后端确定是否使用完全扩展   服务或仅具有单个节点或一个节点的服务   约束。

     

如果使用分布式存储驱动程序(例如Amazon S3),则可以   使用完全复制的服务。每个工人都可以写入存储   后端而不会引起写冲突。

     

如果您使用本地绑定安装或卷,则每个工作程序节点都将写入   自己的存储位置,这意味着每个注册表都包含一个   不同的数据集。您可以使用   单副本服务和节点约束,以确保只有一个   一个工人正在写入绑定装载。

相关问题