如何使用docker-compose v2加入默认网桥网络?

我试图设置一个nginx-proxy容器来通过端口80而不是特殊端口上的子域访问我的其他容器。如您所料,我无法正常工作。

我对Docker本身是新手,发现对我来说编写docker-compose.yml文件更舒服,因此我不必不断地编写长docker run

...命令。我认为使用docker或启动容器的方式没有区别docker-

compose。但是,我注意到的一个区别是,使用容器启动docker不会创建任何新的网络,但是之后docker-

compose将创建一个xxx_default网络。

我读到不同网络上的容器无法相互访问,这可能是nginx-proxy无法将请求转发到其他容器的原因。但是,我无法找到一种方法来配置我的docker-

compose.yml文件以不创建任何新网络,而是像docker run那样加入默认桥网络。

我尝试了以下操作,但是导致出现错误,提示我无法加入这样的系统网络:

networks:

default:

external:

name: bridge

我也尝试过network_mode: bridge,但这似乎没有任何区别。

我该如何写docker-compose.yml文件才能不创建新网络,或者根本不可能呢?

额外的问题:dockerdocker-compose我应该知道之间还有其他区别吗?

回答:

添加network_mode: bridge到您的每个服务docker-compose.yml中将停止创建网络。

如果未使用此网桥(或主机)配置任何服务,则将创建网络。

经过测试并确认:

version: "2.1"

services:

app:

image: ubuntu:latest

network_mode: bridge

以上是 如何使用docker-compose v2加入默认网桥网络? 的全部内容, 来源链接: utcz.com/qa/435493.html

回到顶部