如何使用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上链接它们。