0

我正在尝试学习 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 的官方文档,寻找可能改变了 betweek 版本的东西。任何人都可以看到我正在尝试的明显问题吗?

谢谢。

凯尔

4

1 回答 1

2

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

version: "3"
services:

  wordpress:
  # ...

# these next lines need to be unindented 4 spaces:
networks:
  frontend: 
于 2018-01-10T19:19:55.040 回答