我是Docker的新手。
我已经读过每个容器最好保留一个应用程序。
我需要运行web app(LAMP堆栈)。所以我找到了运行PHP + Apache的容器。
现在我需要设置一个mysql容器。但我不确定这样做的正确方法是什么。
我读到可以将多个容器连接在一起。
这个想法是当它尝试在本地连接到mysql数据库时,使它对运行PHP + Apache的容器变得简单。
但是将所有本地连接重定向到另一个容器。
我的另一个想法是提供环境变量和主机应该在哪里连接。在这种情况下,我需要具有可公开访问的mysql服务器,但我需要将其保密并且只能在本地访问。
请您在我的案例中建议更好的选择吗?
谢谢
答案 0 :(得分:1)
例如,从此docker-compose.yml
开始。把它放在与php Dockerfile相同的目录中:
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
。