将我的自定义泊坞窗容器链接到另一个自定义容器
我有两个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。