当我用host mode
运行mycontainer时,它不工作,但bridge mode
工作,我想问一下这两种模式有什么不同?
使用host mode
运行:docker run --name=zhiwenyi --net=host -d [image]
使用bridge mode
运行:docker run --name=zhiwenyi -d -p 35229:35229 [image]
停靠文件:
FROM java:8
VOLUME /data/log/upload
COPY target/upload_V6_20220722.jar upload.jar
EXPOSE 35229
RUN bash -c "touch /upload.jar"
ENTRYPOINT ["java","-Xmx512m","-Xms512m","-jar","-Duser.timezone=GMT+08","-Dfile.encoding=utf-8","upload.jar"]
在bridge mode
中,我发送一个post request
到myip:35229/path
,它工作得很好。
在host mode
中,同样的请求,它显示connection time out
。
供应:
1.操作系统:centos 7.9
1.坞站:20.10.17
1条答案
按热度按时间pqwbnv8z1#
如果您使用主机模式,则会禁用容器的网络名称空间。
在Docker的上下文中的桥接网络采用软件桥接器来提供与未链接到该桥接网络的容器的隔离,同时使能连接到相同桥接网络的容器之间的通信。
使用主机网络驱动程序的容器的网络堆栈与Docker主机没有分离。例如,如果您使用主机网络并运行绑定到端口80的容器,则可以在主机IP地址的端口80上访问容器的应用程序。