一、问题描述
docker stack依据yml文件创建服务,yml文件如下
version: '3'
services:
web:
image: hub.c.163.com/library/wordpress:latest
ports:
- 8080:80
secrets:
- my-pw
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD_FILE: /run/secrets/my-pw
networks:
- my-network
depends_on:
- mysql
deploy:
mode: replicated
replicas: 3
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
update_config:
parallelism: 1
delay: 10s
mysql:
image: hub.c.163.com/library/mysql:5.7
secrets:
- my-pw
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/my-pw
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-network
deploy:
mode: global
placement:
constraints:
- node.role == manager
volumes:
mysql-data:
networks:
my-network:
driver: overlay
结果报错:
docker stack deploy wordpress -c=docker-compose.yml
secrets Additional property secrets is not allowed
二、问题原因
可能两个原因:
1.Docker Engine<1.13.1
2.docker-compose.yml文件的版本号<“3.1”.
三、解决办法
把版本号修改为3.6,即可解决~