如何将prestashop docker链接到现有的mysql服务器

时间:2016-06-06 16:47:12

标签: mysql docker prestashop

我使用以下Prestashop泊坞广告:https://hub.docker.com/r/prestashop/prestashop/

碰巧我已经在主机上运行了一个mysql服务器,因为它包含在整个DirectAdmin面板中。

如果我指定localhost或我的服务器的IP地址,则变量DB_SERVER不执行任何操作。 -p 3306:3306也是不允许的,因为该端口已被使用。

Docker容器如何到达主机:3306 mysql服务器?

3 个答案:

答案 0 :(得分:0)

如果我理解正确,您将Prestashop安装在容器内,并在Docker主机上运行MySQL服务器吗?

除非配置不同,否则容器和主机都在同一个bridge网络中。

确认您的容器位于bridge网络中:

docker inspect <container-name>

        "Networks": {
            "bridge": {
                "Gateway": "172.17.0.1",
                "IPAddress": "172.17.0.2",
            }
        }

注意网关IP地址 - 这是bridge网络内docker主机的地址。将它用作DB_SERVER变量以连接到MySQL。

答案 1 :(得分:0)

一年后......

@NetworkMeister 所说的相同,但是,改为IP地址。

docker inspect <container-name> | grep IPAddress

换句话说,我使用172.17.0.2并且它有效。

答案 2 :(得分:0)

我相信您要做的是将容器进程与在该主机上运行的mysql服务器连接。要保留使用localhost作为DB_SERVER的分配,您可以执行以下操作...

docker run --net=host <YOUR_CONTAINER_OPTIONS>

通过这样做,您的容器将能够访问部署在localhost:3306上的mysql服务。