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

时间:2017-06-18 22:22:17

标签: php mysql docker dockerfile lamp

我是Docker的新手。

我已经读过每个容器最好保留一个应用程序。

我需要运行web app(LAMP堆栈)。所以我找到了运行PHP + Apache的容器。

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

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

这个想法是当它尝试在本地连接到mysql数据库时,使它对运行PHP + Apache的容器变得简单。

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

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

请您在我的案例中建议更好的选择吗?

谢谢

1 个答案:

答案 0 :(得分:1)

使用docker-compose

例如,从此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