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

时间:2017-05-03 07:44:33

标签: docker docker-compose jwilder-nginx-proxy

我尝试设置一个nginx-proxy容器,通过端口80上的子域而不是特殊端口访问我的其他容器。你可以猜到,我无法让它发挥作用。

我是码头工人的新手,发现编写docker-compose.yml文件对我来说更舒服,所以我不必经常写长{{1} }命令。我认为使用docker run ...docker启动容器的方式没有区别。但是,我注意到的一个区别是,使用docker-compose启动容器不会创建任何新网络,但是docker之后将会有docker-compose网络。

我读到不同网络上的容器无法互相访​​问,这可能是nginx-proxy没有将请求转发给其他容器的原因。但是,我无法找到一种方法来配置我的xxx_default文件以不创建任何新网络,而是像docker-compose.yml那样加入默认网桥。

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

docker run

我也试过networks: default: external: name: bridge ,但这似乎没有任何区别。

我如何编写network_mode: bridge文件以不创建新网络,或者根本不可能?

加分问题:我应该知道docker-compose.ymldocker之间是否存在其他差异?

1 个答案:

答案 0 :(得分:55)

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

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

经过测试并确认:

version: "2.1"

services:
  app:
    image: ubuntu:latest
    network_mode: bridge