关于docker容器启动后,浏览器无法正常访问相关问题——docker 宿主机与容器不通

在学习docker过程中,跟随视频教程学习到nginx、tomcat等内容时。发现在VM虚拟机中的centos7系统,docker构建tomcat容器时。主机无法访问容器的页面&#xff0

在学习docker过程中,跟随视频教程学习到nginx、tomcat等内容时。发现在VM虚拟机中的centos7系统,docker构建tomcat容器时。主机无法访问容器的页面(但控制和传递文件都正常),间接导致外部浏览器无法访问。百思不得其解后,尝试在云服务器中试验时,一切正常。故判断VM虚拟机中的主机和容器间网络异常。

docker run --name tomcat01 -p 80:8080 -v /root/webapps/:/usr/local/tomcat/webapps/ -d tomcat 

curl localhost/test/

curl: (56) Recv failure: Connection reset by peer

 

解决思路

1、检查vm网络配置和vm相关服务是否启动(本人将VM服务全部调为手动,故需要检查。)  正常

2、修改、重启主机网络服务  无效

参考https://blog.csdn/qq_41847741/article/details/95942639

3、手动修改主机和容器间的网络配置 解决

参考https://blog.csdn/qq_32522263/article/details/107817414

(1)主机新建一个自定义的网卡 br4

brctl addbr br4

ifconfig br4 192.161.0.1 netmask  255.255.255.0

ifconfig

(2)docker 网络中新建一个自定义的网络 br10

docker network create -d bridge -o "com.dockerwork.bridge.default_bridge"=true  -o "com.dockerwork.bridge.enable_icc"=true -o "com.dockerwork.bridge.enable_ip_masquerade"=true -o "com.dockerwork.bridge.host_binding_ipv4"="0.0.0.0" -o "com.dockerwork.bridge.name"="br4" -o "com.dockerwork.driver.mtu"="1500" br10

docker network ls

4、测试

docker run --name tomcat-test -p 80:8080 -v /root/webapps/:/usr/local/tomcat/webapps/ --network br10 -d tomcat

curl localhost/test/

 

备注

(1) 了解 br4 和 br10 通过以下命令连接,如有需要按需更改

"com.dockerwork.bridge.name"="br4" -o "com.dockerwork.driver.mtu"="1500" br10

 

(2)

关闭并删除br4 网卡

ifconfig br4 down

brctl delbr  br4
删除 br10 docker网络
docker network rm  br10

发布者:admin,转转请注明出处:http://www.yc00.com/web/1755023221a5227666.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信