我对docker和swarm很陌生。我有两个虚拟服务器,比如说A和B在我的局域网中。我配置docker swarm A作为管理器,B是工作者。我有另一台机器,比如说C,它有我的应用程序的源代码和docker文件。我能够成功地创建docker映像,并在我的机器C上运行该映像。但我不知道如何将该映像拉到swarm集群。有没有人帮忙我怎么才能把 Docker 的形象拉上来?
qojgxg4l1#
你需要一个docker注册表,如果你不介意你的图片被公开的话,dockerhub是个不错的选择(你可以免费拥有一个私有的)。否则,您可以在机器A和B可访问的机器上启动您自己的注册表(可能只是A):
dockerhub
docker run -p 5000:5000 --name registry --restart always -d registry:2
启动后,将您的映像推送到它,然后在群配置中,将映像指定为image。推荐阅读:https://www.docker.com/blog/how-to-use-your-own-registry/
j13ufse22#
也可以在C上运行以下命令:
docker build -t my_app . docker save my_app > myapp.tar
然后将此文件复制到所需的主机(例如B)并运行
docker load < my_app.tar
如果映像是从注册表下载的,则其行为正常;)
2条答案
按热度按时间qojgxg4l1#
你需要一个docker注册表,如果你不介意你的图片被公开的话,
dockerhub
是个不错的选择(你可以免费拥有一个私有的)。否则,您可以在机器A和B可访问的机器上启动您自己的注册表(可能只是A):
启动后,将您的映像推送到它,然后在群配置中,将映像指定为image。
推荐阅读:https://www.docker.com/blog/how-to-use-your-own-registry/
j13ufse22#
也可以在C上运行以下命令:
然后将此文件复制到所需的主机(例如B)并运行
如果映像是从注册表下载的,则其行为正常;)