背景:最近將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 協議》,轉載必須註明作者和本文連結