簡體   English   中英

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

[英]How do I run docker-compose up on a a docker-swarm?

我是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,據我所知創建了一個具有單個節點的swarm:

ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
efcs0tef4eny6472eiffiugqp *  moby      Ready   Active        Leader

現在,我不需要工作人員或其他任何東西,只需一個節點(默認情況下創建的管理器節點),然后將映像部署在那里。

看着這些指令https://docs.docker.com/get-started/part4/#create-a-cluster看來我必須創建一個VM驅動程序,然后在那里存儲我的文件,並通過ssh運行docker-compose起來 這是正常的工作方式嗎? 為什么需要虛擬機? 我不能只在swarm管理器上運行docker-compose嗎? 我沒有找到一種方法,所以我想我缺少了一些東西。

運行docker-compose up將直接在主機上創建單個容器。

在swarm模式下,所有用於管理容器的命令都轉移到了docker stackdocker service ,它們可以跨多個主機管理容器。 docker stack deploy命令接受帶有-c arg的撰寫文件,因此您將在管理器節點上運行以下命令:

docker stack deploy -c docker-compose.yml stack_name

基於版本3的yml文件創建名為“ stack_name”的堆棧。 無論您是由集群管理一個節點還是大型集群,此命令都一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM