注意:应用网络命名依赖项目名,项目名称基于当前所在目录名。可以通过--project-name
选项或者COMPOSE_PROJECT_NAME
环境变量来覆盖。
myapp
,你的 docker-compose.yml
内容如下:docker-compose up
,会发生如下情况:myapp_default
的网络创建web
配置的容器创建。它以 web
为名加入到 myapp_default
网络db
配置的容器创建。它以 db
为名加入到 myapp_default
网络web
或 db
获取相应容器的 IP 地址。如 web
应用代码可以通过 postgres://db:5432
连接使用 Postgres 数据库。docker-compose up
更新它,旧的容器会被移除,新的容器会以不同的 IP 地址但是相同的名字加入到网络。运行的容器可以使用名字连接到新的地址,但是旧的地址已经不再提供服务。db
服务可以被 web
以 db
和 database
主机名访问到: