如何使用docker-compose v2join默认桥接networking?

我尝试设置一个nginx代理容器,通过端口80上的子域来访问我的其他容器,而不是特殊的端口。 你可以猜到,我无法得到它的工作。

我对docker本身是一种新鲜的感觉,发现编写docker-compose.yml文件对我来说更加舒适,所以我不必经常编写长的docker run ...命令。 我认为在启动容器方面没有任何区别,无论是用docker还是docker-compose 。 然而,我注意到的一个区别是,用docker启动容器不会创build任何新的networking,但是使用xxx_default docker-compose之后会有一个xxx_defaultnetworking。

我读过不同networking上的容器不能互相访问,也许这可能是nginx-proxy不会将请求转发到其他容器的原因。 然而,我无法find一种方法来configuration我docker-compose.yml文件,而不是创build任何新的networking,而是join默认桥networking,如docker run

我尝试了以下,但它导致了一个错误,说我不能像这样join系统networking:

 networks: default: external: name: bridge 

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

如何编写docker-compose.yml文件来创build一个新的networking,或者根本不可能?

奖金问题: dockerdocker-compose之间是否还有其他区别docker-compose我应该知道?

docker-compose.yml每个服务添加network_mode: bridge将停止创buildnetworking。

如果有任何服务未configuration此桥(或主机),将创build一个networking。

经过testing和证实:

 version: "2.1" services: app: image: ubuntu:latest network_mode: bridge