如何使用Dockerfile将主容器链接到数据库容器?

Docker有一个非常方便的方法,用如下命令将主容器链接到db容器:

docker run --link db:db user/main 

这已经很方便了。 不过,我相信这样的命令还是笨拙的:

 docker run user/ultra 

其中ultra是一个已经将主容器连接到db容器的容器。

是否有可能通过编写一个好的Dockerfile来达到这个Dockerfile

我想我可以启动Dockerfile

 FROM user/main 

但是如何获得第二个容器,然后将它们与Dockerfile链接?

谢谢。

 FROM user/main 

这将创build一个基于user/main的图像( build time ),这与在运行时将两个容器链接在一起并不相同。

另外,– --link现在已经过时了:请参阅“ 旧版容器链接 ”

警告: – --link标志是Docker的旧版function。 它可能最终被删除。
除非您绝对需要继续使用它,否则我们build议您使用用户定义的networking来促进两个容器之间的通信,而不是使用--link

使用docker-compose.yml文件中的links指令

链接服务的容器将可以在与别名相同的主机名上访问,或者如果没有指定别名,则可以访问服务名称

你可以通过depends_on指令确保容器的启动顺序正确。

然后,一个简单的docker-compose up将启动容器,并在同一个networking上链接它们。