docker-compose配置mysql时出现environment映射错误问题求助
docker-compose配置问题排查及修复方案
核心错误1:environment字段格式不合法
docker-compose的environment仅支持以下两种合法写法,你的配置混用了两种写法的语法(加了数组标识-又用了对象的冒号分隔),触发映射错误:
- 写法1:数组格式,用等号连接键值
environment: - MYSQL_DATABASE=pacoteiro_db - MYSQL_USER=pacoteiro_db - MYSQL_PASSWORD=wasd - MYSQL_ROOT_PASSWORD=wasdq - 写法2:对象映射格式,无需加前缀
-,用冒号分隔键值environment: MYSQL_DATABASE: pacoteiro_db MYSQL_USER: pacoteiro_db MYSQL_PASSWORD: wasd MYSQL_ROOT_PASSWORD: wasdq
核心错误2:expose字段格式不合法
expose字段仅用于声明容器内部开放的端口(供同网络下其他容器访问),不需要配置宿主机映射,你填写的3306:3306是ports字段的语法,放在expose中不符合规范,修改为仅声明容器端口即可:
expose: - '3306'
修复后完整db配置段
db: image: mysql:5.7 container_name: pacoteiro-db restart: unless-stopped environment: MYSQL_DATABASE: pacoteiro_db MYSQL_USER: pacoteiro_db MYSQL_PASSWORD: wasd MYSQL_ROOT_PASSWORD: wasdq ports: - '3306:3306' expose: - '3306' volumes: - pacoteiro-db:/var/lib/mysql networks: - pacoteiro
内容的提问来源于stack exchange,提问作者JonathanLima
相关产品推荐
相关产品推荐

