我尝试设置一个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.yml
和docker
之间是否存在其他差异?
答案 0 :(得分:55)
向network_mode: bridge
中的每项服务添加docker-compose.yml
将停止创建网络。
如果未使用此网桥(或主机)配置任何服务,则将创建网络。
经过测试并确认:
version: "2.1"
services:
app:
image: ubuntu:latest
network_mode: bridge