在学习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.net/qq_41847741/article/details/95942639

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

参考https://blog.csdn.net/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.docker.network.bridge.default_bridge"=true  -o "com.docker.network.bridge.enable_icc"=true -o "com.docker.network.bridge.enable_ip_masquerade"=true -o "com.docker.network.bridge.host_binding_ipv4"="0.0.0.0" -o "com.docker.network.bridge.name"="br4" -o "com.docker.network.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.docker.network.bridge.name"="br4" -o "com.docker.network.driver.mtu"="1500" br10

(2)

关闭并删除br4 网卡

ifconfig br4 down

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

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

  1. 关于docker容器启动后修改或添加端口

    docker容器启动后怎么修改端口映射?在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,也会遇到刚开始忘记设置端口映射或者设置错了需要修改的情况.当docker sta ...

  2. Docker 使用容器数据卷 实现宿主机与容器共享数据 容器数据持久化

    容器数据卷:可以实现宿主机与容器进行共享.容器数据持久化,容器与容器共享数据.可以在run镜像时使用-v参数指定宿主机与容器进行挂载的目录,也可以使用dockerfile的volume指定容器中容器数 ...

  3. docker 容器启动后立马退出的解决方法

    docker 容器启动后立马退出的解决方法 参考文章: (1)docker 容器启动后立马退出的解决方法 (2)https://www.cnblogs.com/wangbaojun/p/1071181 ...

  4. docker容器启动后闪退问题

    问题描述: docker run 创建容器后,docker ps -a发现容器并没有正在运行,退出状态. 运行docker start 后,再次查看docker ps -a 发现还是退出状态,退出时间 ...

  5. docker容器启动成功外界却无法访问

    docker容器启动成功外界却无法访问 出现的问题 解决方法 出现的问题 最近再复习docker,并把docker重新安装了一遍,并拉取了一个nginx镜像.但在nginx容器启动后,却发现外界无法访 ...

  6. win10安装docker,启动后提示WSL 2 installation is incomplete.

    报错描述 win10下载安装docker,启动后提示WSL 2 installation is incomplete.截图如下 错误原因 使用的wsl2版本比较老,需要我们自己手动更新一下,我们根据提 ...

  7. Docker 安装启动后无法连接服务器

    Docker 安装启动后服务无法连接: 原因:docker0 ip 与 系统ip冲突 # 查看ip ifconfig 解决方法重新绑定docker0 ip(docker0 不能设置为localhost ...

  8. docker如何查看宿主机到容器端口映射

    docker/Docker如何查看宿主机到容器端口映射关系 背景 前些天的时候, 在定位问题时发现docker emqx 连接websocket (8083)端口出现异常. 经过很长时间定位, 才发现 ...

  9. ubantu18.04使用docker部署mysql5.7及在宿主机登录容器内mysql

    1.docker切换成国内源 cd /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF' {"registry-mirrors ...

  10. docker实现跨宿主机的容器之间网络互联

    背景:最近闲来无事,想到之前开发提出的问题不用k8s那套网络插件如何实现跨宿主机的容器之间网络互联,顺便复习下iptables知识点. docker实现跨宿主机的容器之间网络互联 一. 环境介绍 二. ...

最新文章

  1. 阿里某员工:发完年终奖后就离职,工作让我心力交瘁
  2. mysql 5.1 备份_mysql 5.1备份到5.0 USING BTREE
  3. Headmaster's Headache
  4. matlab 配置mex 识别vs2015
  5. matlab bwlabel标记连通区域
  6. uniapp中使用微信jssdk
  7. mysql运维机制_《MySQL运维内参》节选 | InnoDB日志管理机制(一)
  8. JavaScript创建Element元素/标签的工具/方法
  9. Android 性能优化:使用 Lint 优化代码、去除多余资源,减少APP的size
  10. 计算机设计大赛作品开发文档
  11. 阿里云OSS线程增长问题分析
  12. 产品全生命周期的产品结构和配置管理构架
  13. 干货| 美国康奈尔大学博士生——王彦邦
  14. 图书系统(查询图书内容)
  15. 怎样通过其他下载工具下载某盘文件
  16. ROG魔霸7Plus的CPU温度与 Armoury Crate 设置问题
  17. java12/13新特性
  18. BT面板创建站点显示已存在问题解决
  19. Eclipse部署多个Web项目内存溢出,java.lang.OutOfMemoryError: PermGen space
  20. npm安装windows-build-tools时卡在Successfully installed Python 2.7

热门文章

  1. 第二章注解深入浅出(三、插桩)
  2. 学术会议论文查重吗_会议论文会不会进行摘要查重?
  3. 用Geek Uninstaller在win10下卸载office2010
  4. 开源遥感软件(未完待续)
  5. 通过IGT-DSER网关实现各品牌PLC之间,PLC与工业机器人(ModbusTCP)之间通讯
  6. srs流媒体服务器拉流的流程
  7. SPSS分析基础——T检验
  8. 什么是无线射频识别技术(RFID)
  9. FlashFXP设置文件传输速度
  10. ie11浏览器For win7 x86 官方下载 V9600 官方版