gpt4 book ai didi

docker - 如何在docker-swarm上运行docker-compose?

转载 作者:行者123 更新时间:2023-12-02 21:22:17 27 4
gpt4 key购买 nike

我是Docker的新手,并试图通过在Docker-Swarm上本地部署hello-world Flask应用程序来开始使用。

到目前为止,我有我的Flask应用程序,一个Dockerfile和一个docker-compose.yml文件。

version: "3"
services:
webapp:
build: .
ports:
- "5000:5000"
docker-compose up可以正常运行并部署我的Flask应用。

我已经使用 docker swarm init启动了Docker Swarm,据我所知创建了一个具有单个节点的集群:
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
efcs0tef4eny6472eiffiugqp * moby Ready Active Leader

现在,我不需要 worker 或其他任何东西,只需一个节点(默认情况下创建的管理器节点),然后将我的镜像部署在那里。

查看这些指令 https://docs.docker.com/get-started/part4/#create-a-cluster似乎必须创建一个VM驱动程序,然后在此处scp我的文件,并使用ssh来运行docker-compose。这是正常的工作方式吗?为什么需要虚拟机?我不能只在swarm管理器上运行docker-compose吗?我没有找到方法,所以我想我缺少了一些东西。

最佳答案

运行docker-compose up将直接在主机上创建单个容器。

在群集模式下,所有用于管理容器的命令都已转换为docker stackdocker service,它们可以在多个主机之间管理容器。 docker stack deploy命令接受带有-c arg的撰写文件,因此您将在管理器节点上运行以下命令:

docker stack deploy -c docker-compose.yml stack_name

基于版本3 yml文件创建名为“stack_name”的堆栈。无论您是由集群管理一个节点还是大型集群,此命令都一样。

关于docker - 如何在docker-swarm上运行docker-compose?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44031191/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com