我如何 运行 docker-组成一个 docker-swarm?
How do I run docker-compose up on a a docker-swarm?
我是 Docker 的新手,正在尝试通过在 Docker-Swarm 上本地部署一个 hello-world Flask 应用程序来开始。
到目前为止,我有我的 Flask 应用程序、一个 Docker 文件和一个 docker-compose.yml 文件。
version: "3"
services:
webapp:
build: .
ports:
- "5000:5000"
docker-compose up
工作正常并部署了我的 Flask 应用程序。
我已经用 docker swarm init
启动了一个 Docker Swarm,我知道它创建了一个只有一个节点的 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 up。这是正常的工作方式吗?为什么我需要虚拟机?难道我不能 运行 docker-组成 swarm manager 吗?我没有找到这样做的方法,所以我猜我遗漏了什么。
运行 docker-compose up
将直接在主机上创建单独的容器。
在 swarm 模式下,所有管理容器的命令都已转移到 docker stack
和 docker service
,它们管理跨多个主机的容器。 docker stack deploy
命令接受带有 -c
arg 的撰写文件,因此您将 运行 在管理器节点上执行以下操作:
docker stack deploy -c docker-compose.yml stack_name
根据版本 3 yml 文件创建名为 "stack_name" 的堆栈。无论您有一个节点还是由 swarm 管理的大型集群,此命令的工作原理都是一样的。
我是 Docker 的新手,正在尝试通过在 Docker-Swarm 上本地部署一个 hello-world Flask 应用程序来开始。
到目前为止,我有我的 Flask 应用程序、一个 Docker 文件和一个 docker-compose.yml 文件。
version: "3"
services:
webapp:
build: .
ports:
- "5000:5000"
docker-compose up
工作正常并部署了我的 Flask 应用程序。
我已经用 docker swarm init
启动了一个 Docker Swarm,我知道它创建了一个只有一个节点的 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 up。这是正常的工作方式吗?为什么我需要虚拟机?难道我不能 运行 docker-组成 swarm manager 吗?我没有找到这样做的方法,所以我猜我遗漏了什么。
运行 docker-compose up
将直接在主机上创建单独的容器。
在 swarm 模式下,所有管理容器的命令都已转移到 docker stack
和 docker service
,它们管理跨多个主机的容器。 docker stack deploy
命令接受带有 -c
arg 的撰写文件,因此您将 运行 在管理器节点上执行以下操作:
docker stack deploy -c docker-compose.yml stack_name
根据版本 3 yml 文件创建名为 "stack_name" 的堆栈。无论您有一个节点还是由 swarm 管理的大型集群,此命令的工作原理都是一样的。