dockernetworking:如何知道哪个IP将被分配?
试图与docker工熟悉,所以请忍受我…
如果我创build一个端口为5432的数据库容器(psql),然后创build另一个想要在5432上连接的Web应用程序,他们将从docker分配桥网上的一些IP地址…
可能分别是172.0.0.1
和172.0.0.2
。 如果我启动了集装箱,用docker network inspect <bridge id>
他们的ip
docker network inspect <bridge id>
如果我然后采取这些ips,并在我的webapp设置插入端口,一切正常工作…
但我不应该运行我的web应用程序,shell程序,更改设置,然后运行一个服务器,我应该能够运行容器…
那么我在这里错过了什么,有没有办法让这两个容器联网而不必完成所有这些?
使用Dockernetworking
docker create network myapp docker run --network myapp --name db [first-container...] docker run --network myapp --name webapp [second-container...] # ... and so on
现在,您可以从其他容器中通过名称来引用容器。 就像他们在DNS中的主机名一样。
在webapp
应用程序容器中运行的应用程序中,可以使用db
configuration数据库服务器,就好像它是一个主机名。