通过 docker-compose.yml
我能够运行该应用程序。现在我们想将应用程序迁移到生产环境,但我们不想使用容器数据库。那么有什么方法可以让我使用 docker-compose
将本地 MySQL 数据库与应用程序连接起来吗?
我的 docker-compose.yml 看起来像:
version: '3'
services:
web-app:
build:
context: .
dockerfile: web-app/Dockerfile
ports:
- 8080:8080
links:
- app-db
app-db:
build:
context: .
dockerfile: app-db/Dockerfile
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=Optimize
ports:
- 3306:3306
我只想连接到本地托管的 mysql
数据库,而不是 app-db
部分。
最佳答案
只需使用 host.docker.internal
而不是 localhost
。
要让它在 Linux 上运行,你只需要通过参数 --add-host host.docker.internal:host-gateway 来启动你的 Docker 容器
关于mysql - 如何将本地托管的 MySQL 数据库与 docker 容器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44543842/