如何在docker-swarm管理器上访问本地构建的docker-image?

问题描述 投票:1回答:1

在尝试在docker-machine上构建服务时,我在docker-machine manager节点上出现“image not exists”错误。当我检查管理器节点上的docker images命令时,没有预期的图像。但是在根码头方面,我有那些图像。我想在管理器节点上访问这些图像。我已经阅读了一些文章,其中提到了,也许我要将该图像上传到docker hub,然后将其从该hub中拉出来。但我想在本地访问它。有没有办法做到这一点,因为我是码头工人的新手。

这是我在经理机器上尝试的命令:

docker @ manager:〜$ docker service create --name“api-client”-p 4200:4200 api_client

这是我的docker图像输出:

存储标签图像ID创建大小

api_client最新097b19c4deb8 27小时前1.15GB

但是在我的docker @ manager终端上,我的docker镜像文件夹是空的。

docker docker-swarm docker-machine docker-image
1个回答
0
投票

问题是没有存储库来保存图像。需要将存储库从存储库中提取到Swarm中的每个节点,然后才能执行。通常,您需要执行以下操作:

  1. 设置一个存储库,如果你想要一个本地存储库,那里有一个指南here,但是启动并运行我和“不安全的http”版本会有些麻烦。一个更简单的方法是让自己获得一个免费的docker hub帐户并将您的图像放在那里。
  2. 使用存储库名称标记本地映像。 Howto显示在上面的指南中。

docker tag <local image> <repository>/<image:tag>

  1. 登录存储库(如果在云中)并将映像推送到存储库

docker login

docker push <repository>/<image>:<tag>

  1. 运行映像(您的命令)
docker service create --name "api-client" -p 4200:4200 <repository>/<image>:<tag>

您还可以尝试使用将图像拉入节点的本地缓存中

docker pull <repository>/<image>:<tag>

© www.soinside.com 2019 - 2024. All rights reserved.