游客发表
默认情况下组合设置一个网络应用程序。每个容器的服务连接默认网络和网络上,既可通过其他容器,并发现他们在一个主机名与容器名称相同。
为应用程序的网络提供一云计个基于“项目名称”的名称,该名称基于其所在目录的名称。您可以使用--project-nameflag 或COMPOSE_PROJECT_NAME环境变量覆盖项目名算核称。
例如,假设您的应用程序位于名为的目录中myapp,并且您的docker-compose.yml样式如下所示:
version: "3.9"
services:
&心技nbsp; web:
build: .
&术Dnbsp; ports:
- "8000:8000oc"
db:
image: postgres
ke ports:
- "8001:5432"
运行时docr教ker-compose up,将发生以下情况:
myapp_default创建一个名为的网络。
容器是使用web的配置创建的。它myapp_default以名称程:加入网络 web。
容器是使用db的配置创建的。它myapp_default以名称加入网络 db。
从Compose文件格式2.1开始,覆盖网络始终创建为 attacdohable,并且这是不可配置的。这意味着独立容器可以连接到覆盖网络。
在撰写文件格式3.x中,您可以选择将attachable属性设置为false。
现在ck,每个容器都可以查找主机名web或db获取相应容器的IP地址。例如,web的应用程序代码可以连接到URLpostgres://db:5432并开始使用Poerstgres数据库。
要注意区分是很重要的HOST_PORT和CONTAINER_PORT。在上面的示例中,对于db,HOST_PORTis是8001,容-c器端口为 5432(postgres默认)。联网的服务到服务通信使用CONTAINER_PORT。当HOST_PORT定义,服务以及虫群外部访问。
在web容器内,om您的连接字符串db看起来像 postgres://db:5432,而在主机上,连接字符串看起来像postgres://{DOCKER_IP}:8001。
https://www.lauben.com/en/?action=SEARCH&s=谷歌霸屏软件【tg:seogoogle987】,KqL
https://www.openstreetmap.org/search?query=谷歌霸屏软件【tg:seogoogle987】,fko
随机阅读
热门排行
友情链接