我不确定这是错误还是功能。但是几个月以来,我一直在为我的本地开发数据库运行这个 docker-compose 设置,自从我更新了 Docker 和 Lando 之后,它就停止了工作。
如您所见,我将它用于一些由 Lando 管理的 php 站点。自上次更新以来,要么 要么ports
指令network
不适用于 MySQL 容器。
- 如果我将它与下面的代码片段一起使用,则该
ports
指令不起作用。这意味着我无法从 QueryPie 连接localhost:3306
,但可以从另一个mysql_db
作为主机的兰多 docker 容器连接。 - 如果我注释掉该
networks
指令,则该ports
指令有效。但该networks
指令显然不是。这意味着我可以从 QueryPie 连接localhost:3306
,但我无法从另一个mysql_db
作为主机的lando docker 容器连接。
在更新之前,他们一起工作得很好。所以我可以在 QueryPie 中打开 MySQL 并从 Lando 容器中访问数据库。
version: '3'
services:
mysql:
container_name: mysql_db
restart: always
image: mysql:latest
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=secret
volumes:
- ./mysql-data:/var/lib/mysql
networks:
- lando_bridge_network
networks:
lando_bridge_network:
external: true
我的 docker 引擎是 19.03.8,我的 docker-compose 版本是 1.25.5。