您能给我一个指南或图表来了解区别吗?
我问这个问题的原因是我无法使用以下方法打开网站:
docker network create -d bridge mybridge
docker run -d --net mybridge --name db redis
docker run -d --net mybridge -e DB=db -p 8000:5000 --name web chrch/web
但是我可以使用以下方法打开网站:
docker run --rm -d --network host --name my_nginx nginx
我使用Google Cloud Platform VM实例并自己安装docker。
就Docker而言,网桥网络使用软件网桥,该软件网桥允许连接到同一网桥网络的容器进行通信,同时与未连接到该网桥网络的容器隔离。
如果您将主机网络驱动程序用于容器,则该容器的网络堆栈不会与Docker主机隔离。例如,如果您运行绑定到端口80的容器,并且使用主机网络,则该容器的应用程序将在主机IP地址的端口80上可用。
如果要部署使用私有内部网络在它们之间连接的多个容器,请使用网桥网络。如果要部署与主机连接到同一网络堆栈的容器(并访问与主机相同的网络),请使用主机网络。如果您只想发布一些端口,请使用--port
或-p
选项运行容器,例如-p 8080:80
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句