docker 升級小坑之 ~ docker-compose 檔案啟動語法錯誤

原罪發表於2020-06-09

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

會飛的大象

相關文章