2017-07-18 49 views
0

我想在我的码头容器中安装或添加一个mysql实例,并希望在我的应用程序在另一个码头容器中访问该mysql实例。所以基本上我创建了一个包含我的应用程序的码头容器,我想访问该容器内的一个mysql码头安装和使用mysql

+0

你最好坚持https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#each-container-should-have-only-one-concern。去官方的MySQL docker,并将你的应用程序与它连接起来。 – mzl

+0

是的,其实这就是我所做的。我使用了官方的mysql。但我想链接到我的应用程序容器如何实现这一目标? –

+0

旧样式(看起来像现在不推荐使用)是用“--link mysql:mysql”((不))来启动你的应用程序请参阅https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks /)。所以..你besser使用用户定义的网络,因为它推荐的方式(请参阅https://docs.docker.com/engine/userguide/networking/work-with-networks/)。 – mzl

回答

0

您可以使用网络进行连接。看一下this file,它构建一个mysql容器并将其连接到网络。然后将另一个容器连接到同一个网络。所需容器使用其ip地址和端口访问mysql容器。由于以下原因,我必须使用IP地址。

Docker嵌入式DNS服务器支持连接到给定网络的容器的名称解析。这意味着任何连接的容器都可以通过其容器名称在同一网络上ping另一个容器。从container2中,您可以通过名称ping container3。

此功能不适用于默认网桥。 container1和container2都连接到桥网络, 但您无法使用容器 名称从container2 ping容器1。

来源:Working with networks

当我试图做这个过程中,我写了一篇关于它in my blog。可以帮助你。