在学习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条)