Docker 容器在本地连接到 MySQL 数据库 -> 重定向到另一个容器

Docker container connect to MySQL database locally -> redirect to another container

我是 Docker 的新手。

我了解到最好为每个容器保留一个应用程序。

我需要 运行 网络应用程序(LAMP 堆栈)。所以我找到了 运行ning PHP + Apache 的容器。

现在我需要设置一个 mysql 容器。但我不确定这样做的正确方法是什么。

我了解到可以将多个容器连接在一起。

这个想法是让它在容器 运行ning PHP + Apache 尝试在本地连接到 mysql 数据库时透明。

但是将所有本地连接重定向到另一个容器。

我的另一个想法是为主机提供环境变量,所有连接都应该去哪里。在这种情况下,我需要有可公开访问的 mysql 服务器,但我需要将其保密并且只能在本地访问。

你能建议一个更好的选择吗?

谢谢

使用docker-compose:

例如,从这个docker-compose.yml开始。将它放在与 php Docker 文件相同的目录中:

version: "3"
services:
  web:
    build: .
    ports:
      - 8000:80
    depends_on:
      - db
  db:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=something
    volumes:
      - ./mysql-data:/var/lib/mysql

然后:

docker-compose up

感谢 Docker 网络,您可以从 PHP 指向:db:3306.