docker堆栈部署失败

时间:2018-01-10 19:05:27

标签: docker dockerfile docker-stack

我正在尝试学习Docker,我在http://play-with-docker.com上使用5台机器(1名领导者,4名工作人员)并遵循Udemy教程。我是关于Docker堆栈的教程,讲师给出了这段代码的一个例子:

version: "3"
services:

  wordpress:
    image: wordpress
    depends_on:
      - mysql:mysql
    ports:
      - 8080:80
    networks:
      - frontend
    deploy:
      replicas: 6
      restart-policy:
        condition: on-failure

  mysql:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=password
    networks:
      - frontend
    deploy:
      placement:
        constraints: [node.role == manager]

  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - 9000:8080
    networks:
      - frontend
    stop_grace_period: 1m 30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]


    networks:
      frontend:  

然后他在视频中运行得很好,一切都正常。

我觉得我非常小心地输入他的指令,但是当我运行这个文件时,我得到了

$ docker stack deploy --compose-file docker-stack.yml wordP
service mysql: undefined network "frontend"

我已逐字逐句地逐字逐句地走过这一百遍。我已经通过Docker的官方文档寻找可能在两周版本之间发生变化的内容。任何人都可以看到我尝试过的明显问题吗?

感谢。

凯尔

1 个答案:

答案 0 :(得分:2)

Yaml文件对空间敏感(类似于python代码)。文件末尾的网络部分必须是顶层,而不是在可视化服务中缩进。

version: "3"
services:

  wordpress:
  # ...

# these next lines need to be unindented 4 spaces:
networks:
  frontend: