Docker容器不在虚拟机上运行

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

我试图在虚拟机上运行3个容器。 OS:CentOS 7.3 Docker:17.03.1-ce

我跟着第一部分,可以在虚拟机内的容器上运行hello-world。

然后我转到Docker撰写的例子。 我有以下目录结构:

home | - docker-compose.yml | - docker-test | - app.py - Dockerfile - requirements.txt 

docker-test下的文件来自docker网站上的python应用程序示例。

用docker-compose,我试图运行hello-world示例的3个容器。

我的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 

但是,sudo docker ps显示没有容器,当我curl http:// localhost:80 ,它不能连接。

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 

我错过了什么?

docker-compose.yml文件表示, web服务应该使用hello-world映像,它只是在运行时输出消息并退出,导致所有容器停止运行。 据推测,你打算改为使用build立docker-test/创build的图像; 要做到这一点,只需将image: hello-worldreplace为image: hello-world line with build: docker-test