Docker有一种非常方便的方法,可以使用如下命令将主容器链接到数据库容器:
docker run --link db:db user/main
这已经很方便了。但是,我相信它与以下命令相比仍然很笨拙:
docker run user/ultra
其中ultra
是已将主容器链接到数据库容器的容器。
通过写一篇好文章Dockerfile
,我是否有可能实现这一目标。
我想我可以用
开始Dockerfile
FROM user/main
但如何让第二个容器参与其中,然后将它们与Dockerfile
?
感谢。
答案 0 :(得分:0)
FROM user/main
这将基于build time
创建一个图像(user/main
),这与在运行时将两个容器链接在一起完全不同。
另外,--link
现已过时:请参阅" Legacy container links"
警告:
--link
标志是Docker不推荐使用的旧功能。它最终可能被删除 除非您绝对需要继续使用它,否则我们建议您使用用户定义的网络来促进两个容器之间的通信,而不是使用--link
在docker-compose.yml
文件中使用 links
directive 。
链接服务的容器可以在与别名相同的主机名上访问,如果没有指定别名,则可以访问服务名称
您可以使用depends_on
directive确保按正确顺序启动容器。
然后,一个简单的docker-compose up
将启动容器并将它们链接到同一网络上。