docker win ping 不通容器 避坑指南

使用win docker-desktop,想连接容器开发,尝试了各种网络上的路子。kill my much time!

桥接是不行的,

手动添加路由也是行不通的,

所以看到这个的你不要想用常规的方法使用win宿主机连接你的linux容器,截止2020.3.29

查看原因 Networking features in Docker Desktop for Windows

也就是说 目前不支持win与linux容器使用桥接通信。

不过端口映射还是可以的,就是添加端口多的话 有点麻烦。

致我逝去的好几个小时。

另外

可以在宿主机 使用vscode 的remote-dev 直接访问容器 突然发现好香 完成了我开发的困难

终于可以b2w 好幸福

btw 我是因为电脑的显卡与tensorflow怎么配都配不上,然后vm不支持显卡 但是docker支持显卡,才最后成了win+docker+vscode的完美套装(随后还是发现 docker-desktop目前对于Linux不支持显卡:( )

补充:win10宿主机下ping不通Docker容器, 同时Docker创建静态IP

解决方法

添加Docker所在网关IP到宿主机路由上

 // CMD 管理员模式
 // 172.19.0.0 是我自己创建, 需要根据你的改变
route add 172.19.0.0/16 mask 255.255.255.0 10.0.75.2 -p //永久路由,否则重启则没有

win: 查看路由 route print

Docker网关:

Docker创建静态IP

 // Docker分配静态ip必须 要自己自定义网络,默认网络不行
 docker network create --subnet=172.19.0.0/16 mynet //2的16次方 都用
 docker run -itd --name nginx2 --net mynet --ip 172.19.0.1 ubuntu
 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Docker多个容器不能有相同端口号的处理方案

    问题背景 在docker里用同一份镜像创建4个容器,网络选择bridge模式,A服务在四个容器中都使用了同一个端口号(6000):为了减少对外暴露的端口数,另外使用了nginx对这4个服务实例做代理,4个服务实例分属4个upstream,使用了类似/service1./service2的路径来访问4个实例. 此时从本地访问任一服务,则会报502错误,百思不得其解. connect() failed (111: Connection refused) while connecting to ups

  • 解决docker run后容器出现Exited (0)情况的问题

    自己做了个centos7的openresty的Dockerfile,build之后 docker run -d -p 801:80 openresty:1.19 /usr/local/openresty/nginx/sbin/nginx 之后docker ps -a出现如下情况 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9dee2d04b3b5 openresty:1.19 "/usr/local/openrest-"

  • docker容器下配置jupyter notebook的操作

    docker容器下配置jupyter notebook,主要是为了编写python代码,更具体点是做深度学习的开发. jupyter web形式最高效的使用方式就是部署在云上,不管是cpu云服务器还是gpu的云服务器,都能快速启动使用. 而docker的出现又方便了很多在部署使用上. - 安装 docker docker分为docker CE和docker EE,一般使用docker CE(社区版本). docker可以在Linux(ubuntu.centos).MacOS.Windows或者树

  • docker run -v 挂载数据卷异常,容器状态一直是restarting的解决

    出现的问题: docker run 加上 -v 参数之后,容器就一直是 restarting 状态,去掉 -v 参数就可以正常运行 查找问题: 使用 docker logs 'containerId' 这个containerId,就是docker run之后返回的containerId 可以看到,是权限拒绝的问题 解决问题: docker run时加上参数 :加上--privileged=true 例如: docker run -dit -e MYSQL_ROOT_PASSWORD=123456

  • Docker 实现容器端口绑定本地端口

    今天遇到启动镜像之后,通过HTTP请求的的方式访问不了的一个小问题,下面来记录并分享下解决办法: 常用的docker启动命令和解决办法如下所示: 一.启动docker 众所周知,启动容器的命令如下: docker run 镜像名称 二.绑定容器端口与本地端口 由于启动容器之后,本地无法直接访问容器内的端口,故而需要将本地的端口与容器的端口做一个绑定操作,从而可以通过本地端口去访问容器,设置如下: docker run -p 本地端口:容器端口 镜像名称 然后就可以通过本地的浏览器通过本地的端口访

  • Docker容器不识别宋体等字体的解决方案

    问题背景: 在使用docker部署项目的时候,由于项目中调用打印控件默认使用的是系统字体,在windows上部署没有问题,但是在docker容器中运行的时候,由于docker中没有宋体等相关字体,导致系统报错无法找到相应的字体. 解决思路: 其实就像解决linux本身没有宋体的问题一样,也可以用来解决容器问题.发现其实很多docker容器的问题最后都可以仿照linux的解决思路来处理.大体就是下载宋体ttf.ttc文件,然后将其考入容器字体目录下,重启容器即可. 解决办法: 1.查看容器支持的字

  • Docker容器无法停止删除的解决方案

    查找运行的容器id docker ps 查找上面容器的物理位置 cd /var/lib/docker/container ls -a #此处会显示所有容器的id,找出上面那个无法停止删除的id(8位) 先停止docker服务 service docker stop 删除物理容器 rm -rf /var/lib/docker/container/{上面找到的id} 重启docker服务 service docker start 补充:Docker 退出容器不停止容器运行 并重新进入正在运行的容器

  • docker win ping 不通容器 避坑指南

    使用win docker-desktop,想连接容器开发,尝试了各种网络上的路子.kill my much time! 桥接是不行的, 手动添加路由也是行不通的, 所以看到这个的你不要想用常规的方法使用win宿主机连接你的linux容器,截止2020.3.29 查看原因 Networking features in Docker Desktop for Windows 也就是说 目前不支持win与linux容器使用桥接通信. 不过端口映射还是可以的,就是添加端口多的话 有点麻烦. 致我逝去的好几

  • Linux下安装Python3.6及避坑指南

    Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好. yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 2. 下载Python3源代码 下载Python3的

  • ant-design-vue 快速避坑指南(推荐)

    ant-design-vue是蚂蚁金服 Ant Design 官方唯一推荐的Vue版UI组件库,它其实是Ant Design的Vue实现,组件的风格与Ant Design保持同步,组件的html结构和css样式也保持一致. 用下来发现它的确称得上为数不多的完整的VUE组件库与开发方案集成项目. 本文主要目的是总结一些开发过程中比较耗时间去查找,文档中没有具体说明的常见问题,同时希望能给新上手此框架的同学提供一些参考作用. 1.Table对接后台返回数据 针对Table数据格式与后他接口返回数据格

  • .Net Core 2.2升级3.1的避坑指南(小结)

    写在前面 微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多.往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2.2</TargetFramework> 修改为 <TargetFramework>net

  • Java多线程基本概念以及避坑指南

    目录 前言 1. 多线程基本概念 1.1 轻量级进程 1.2 JMM 1.3 Java中常见的线程同步方式 2. 避坑指南 2.1. 线程池打爆机器 2.2. 锁要关闭 2.3. wait要包两层 2.4. 不要覆盖锁对象 2.5. 处理循环中的异常 2.6. HashMap正确用法 2.7. 线程安全的保护范围 2.8. volatile作用有限 2.9. 日期处理要小心 2.10. 不要在构造函数中启动线程 End 前言 多核的机器,现在已经非常常见了.即使是一块手机,也都配备了强劲的多核处

  • .NET+PostgreSQL实践与避坑指南(推荐)

    简介 .NET+PostgreSQL(简称PG)这个组合我已经用了蛮长的一段时间,感觉还是挺不错的.不过大多数人说起.NET平台,还是会想起跟它"原汁原味"配套的Microsoft SQL Server(简称MSSQL),其实没有MSSQL也没有任何问题,甚至没有Windows Server都没问题,谁说用.NET就一定要上微软全家桶?这都什么年代了-- PG和MSSQL的具体比较我就不详细展开了,自行搜一下,这种比较分析文章很多.应该说两个RDBMS各有特色,MSSQL工具集庞大(大

  • Python学习之异常处理的避坑指南

    目录 finally与return的执行顺序 else与return的执行顺序 总结 最终想了想,还是把这个章节单独拎出来,虽然字数不多. 在代码中,存在return也应当执行finally: 存在return时,else是不执行的: 无return时,else正常执行: 如果发生异常,则else也不执行 finally 与 return 的执行顺序 示例代码如下: class Test(object):     def division(self, num1, num2):         t

  • GoFrame框架使用避坑指南和实践干货

    目录 gf gen dao 设置参数可不传 model作为结构体类型 使用with关联取值而不是join 不使用结构体批量添加数据 主程序如下: gomeGoods.MainImgs的定义: 插入数据 gf gen dao 生成dao层的脚手架工具很好用,我遇到的坑是这样的: 生成的dao文件和同事们的不一致,生成文件成功,但是对应的Columns是空的,虽然有这个方法,但是方法内没有值.我的版本比同事们的略高,我一直以为是这个原因,各种降级和同事保持一致的版本后还是不行. 最终发现:是配置文件

  • python函数默认参数使用避坑指南

    目录 引言 verify 炸弹 测试接口的数据 原因 改进方案 引言 阿刁是一个自动化测试用例,从一出生他就被赋予终生使命,去测试一个叫登录的过程是否合理.他一直就被关在一个小黑屋里面,从来也没有出去过,小黑屋里还被关着其他的同胞,他们身上都捆着两个小袋子. 小黑屋里很难受,他们都想跑出去,可怎么也跑不出去.Python 是他们的总司令,有一次,python 告诉他们,你们就不要想着跑出去了,你们已经够幸运了,只有 8 个人用这个屋子,别的屋子都挤着 30 多个人呢! “这里还有其他的屋子?”

  • go语言 nil使用避坑指南

    目录 引言 nil 默认值nil (重点记住) nil没有默认类型 不同类型的nil值占用的内存大小可能是不一样的 不同类型 nil 的指针是一样的 不同类型的 nil 是不能比较的 引言 今天笔试题遇到 var x string = nil ,问这个定义是否正确? 这里给出答案: cannot use nil as string value in variable declaration. 也就是说,string类型和nil八竿子打不着,要想判断字符串是否为空,可以使用str == "&quo

随机推荐