我正在尝试学习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的官方文档寻找可能在两周版本之间发生变化的内容。任何人都可以看到我尝试过的明显问题吗?
感谢。
凯尔
答案 0 :(得分:2)
Yaml文件对空间敏感(类似于python代码)。文件末尾的网络部分必须是顶层,而不是在可视化服务中缩进。
version: "3"
services:
wordpress:
# ...
# these next lines need to be unindented 4 spaces:
networks:
frontend: