将我的自定义泊坞窗容器链接到另一个自定义容器

我有两个Rails docker容器:

第一个是前端应用程序(container1),另一个是后端API(container2)。

前端可以通过http://0.0.0.0:3000访问。 前端通过http://0.0.0.0:5000连接到后端API。

我用这个来启动将它连接到后端的前端

docker run --name=frontend --publish=3000:3000 --link=postgis:postgres --link=backend:backend --volume=/var/app:/app --tty=false --interactive=false --detach=true frontend 

后端正常运行

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cd4521524caf backend "/bin/bash -l -c /setu" About an hour ago Up About an hour 0.0.0.0:5000->5000/tcp backend 

我观察到的链接后端在/ etc / hosts中添加了一个条目

 172.17.0.712 cd4521524caf 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 postgres 12b29087618e postgis 

我如何获得/公开我的后端docker集装箱的名称和别名在/ etc / hosts中正确注册,以及如何公开一个值为172.17.0.12:5000的环境variables。

我注意到其他docker容器(如postgis),我已经链接添加环境variables,但我(后端)不。

我想我的环境variables是像

 BACKEND_API="http://172.17.0.12:5000" 

和/ etc / hosts条目是:

 172.17.0.712 backend cd4521524caf backend 

如果你的软件通过/etc/hosts来支持名字parsing(这很有可能,除非你在前台手动进行名字parsing),你可以使用-e BACKEND_API="http://backend:5000"和它会自动直接从/etc/hosts提取正确的IP。