docker 升级小坑之 ~ docker-compose 文件启动语法错误
背景:最近将docker升级到19.03.8,升级后发现无法运行docker-compose文件,记录下处理过程
1. 运行时提示
ERROR: The Compose file '/XX/docker-compose.yml' is invalid because:
Unsupported config option for services.php-fpm-7.0: 'net'
提示配置语法(net)错误。
当前docker-compose版本 version: "0.1"
2. 查看当前docker版本
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
3. 查看docker版本对应的docker-compose版本
[docker官方文档](https://docs.docker.com/compose/compose-file/#host-or-none "docker官方文档")
Compose file format Docker Engine release
3.8 19.03.0+
3.7 18.06.0+
3.6 18.02.0+
3.5 17.12.0+
3.4 17.09.0+
3.3 17.06.0+
3.2 17.04.0+
3.1 1.13.1+
3.0 1.13.0+
2.4 17.12.0+
发现对应的compose版本为3.8
4. 调整docker-compose文件版本3.8及语法配置
net配置在该语法版本下替换为networks配置。
新版本语法需要创建自定义网络,语法示例如下:
networks:
frontend:
backend:
注意在下面加上标识为外部网络的配置:external:true
v0.1配置语法:
net:"host"
v3.8配置语法:
version: "3.8"
services:
php-fpm-7.0:
image: docker.xx.com:5000/rocketmq-php:7.0
volumes:
- /Users/local:/code/www/deploy/webroot
- phpsocket:/dev/shm
networks:
- local
volumes:
phpsocket:
networks:
local:
external: true
5. 执行网络创建命令
语法示例:docker network create [name]
实际执行:docker network create local
6.重新运行docker-compose.yml文件就OK啦
本作品采用《CC 协议》,转载必须注明作者和本文链接