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.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
.
我是 Docker 的新手。
我了解到最好为每个容器保留一个应用程序。
我需要 运行 网络应用程序(LAMP 堆栈)。所以我找到了 运行ning PHP + Apache 的容器。
现在我需要设置一个 mysql 容器。但我不确定这样做的正确方法是什么。
我了解到可以将多个容器连接在一起。
这个想法是让它在容器 运行ning PHP + Apache 尝试在本地连接到 mysql 数据库时透明。
但是将所有本地连接重定向到另一个容器。
我的另一个想法是为主机提供环境变量,所有连接都应该去哪里。在这种情况下,我需要有可公开访问的 mysql 服务器,但我需要将其保密并且只能在本地访问。
你能建议一个更好的选择吗?
谢谢
例如,从这个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
.