未在VM上运行Docker容器

未在VM上运行Docker容器,docker,docker-compose,Docker,Docker Compose,我是Docker的新手,我正在Docker网站上关注“入门”文档 我试图在虚拟机上运行3个容器。 操作系统:Centos 7.3 码头工人:17.03.1-ce 我遵循了第一部分,可以在VM中的容器上运行hello world 然后我转到Docker compose示例。 我有以下目录结构: home | - docker-compose.yml | - docker-test | - app.py - Dockerfile - requ

我是Docker的新手,我正在Docker网站上关注“入门”文档

我试图在虚拟机上运行3个容器。 操作系统:Centos 7.3 码头工人:17.03.1-ce

我遵循了第一部分,可以在VM中的容器上运行hello world

然后我转到Docker compose示例。 我有以下目录结构:

home
 |
  - docker-compose.yml
 |
  - docker-test
     |
      - app.py
      - Dockerfile
      - requirements.txt
docker测试下的文件来自docker网站上的python应用程序示例

使用docker compose,我尝试运行hello world示例的3个容器

My docker-compose.yml:

version: "3"
services:
 web:
  image: hello-world
  deploy:
   replicas: 3
   resources:
    limits:
      cpus: "0.1"
      memory: 50M
   restart_policy:
    condition: on-failure
 ports:
  - "80:80"
 networks:
  - webnet
networks:
  webnet:
然后我运行了以下命令:

sudo docker swarm init
sudo docker stack deploy -c docker-compose.yml getstartedlab

sudo docker stack ps getstartedlab shows:    
ID            NAME                 IMAGE               NODE              DESIRED STATE  CURRENT STATE            ERROR  PORTS    
iytr4ptz3m8l  getstartedlab_web.1  hello-world:latest  <node1>  Shutdown       Complete 16 minutes ago         
s5t41txo05ex  getstartedlab_web.2  hello-world:latest  <node2>  Shutdown       Complete 16 minutes ago         
91iitdnc49fk  getstartedlab_web.3  hello-world:latest  <node3>  Shutdown       Complete 16 minutes ago         

我缺少什么?

您的
docker compose.yml
文件说
web
服务应该使用
hello world
图像,它只打印一条消息并在运行时退出,导致所有容器停止。您可能想使用building
docker test/
创建的图像;为此,只需将
image:hello world
行替换为
build:docker test

,我这样做了:cat docker-compose.yml version:“3”服务:web:build:docker test部署:副本:3个资源:限制:cpu:“0.1”内存:50M重新启动\u策略:条件:失败时。当我执行sudo docker stack deploy-c docker-compose.yml getstartedlab时,它会出错:忽略不支持的选项:生成创建网络getstartedlab\u webnet创建服务getstartedlab\u web错误来自守护进程的响应:rpc错误:code=3 desc=容器spec:image引用必须提供
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES