mysql - 如何将本地托管的 MySQL 数据库与 docker 容器连接

标签 mysql docker docker-compose

通过 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/

相关文章:

mysql - 如何从列的逗号分隔值中找到子部分并插入mysql中的新行?

使用 Pandas 运行 Python 的 Docker 文件

http - 如何从 Docker 发送 http 请求到本地主机或虚拟机

performance - 每次使用 docker-compose 时,yarn install 链接依赖项都很慢

php - 查询发现总号为: rows of the a table selected for past 30 days

php - 按行顺序加载文件中的数据

php - 当要使用 mysql 从 PHP 中的两个表中进行搜索时,如何在文本字段中搜索相关记录

Docker - 修剪后磁盘空间仍然满

docker - 删除 Airflow Scheduler 日志

spring-boot - 使用 kotlin spring 和 docker 配置远程调试