WIN10系统和Docker内部容器IP互通方式

时间:2021-11-20 21:53:43

1.安装了Window版本的Docker之后,我们启动 Docker Quickstart Terminal ,我们会得到一个IP,我的为:

192.168.99.100

WIN10系统和Docker内部容器IP互通方式

2.启动一个mysql镜像,并获取这个镜像的IP:

WIN10系统和Docker内部容器IP互通方式

在开始的时候,从本机直接到172.17.0.2是网络不通的,但是我们本机能到 192.168.99.100,172.17.0.2到192.168.99.100也是通的,我们可以在本机配置一个到172.17.0.2通过192.168.99.100的路由:

route add -p 172.17.0.0 mask 255.255.0.0 192.168.99.100

这时查看路由,看到有了到 172.17.0.0 网络段的路由

WIN10系统和Docker内部容器IP互通方式

这时我们本机到 172.17.0.2是可以ping通了,之后我们使用 navicat 去连接Dokcer中的mysql容器:

WIN10系统和Docker内部容器IP互通方式

补充知识:docker 使用过程中出现的 bug

此记录自己在使用 docker 时,出现的一些 bug,以及自己怎么解决的。 后续不断补充使用 docker 遇到的 bug。

bug1,验证 nvidia-docker 是否安装成功(输入命令 sudo nvidia-docker run --rm nvidia/cuda nvidia-smi,产生以下错误)

lab712@lab712:~$ sudo nvidia-docker run --rm nvidia/cuda nvidia-smi

docker: Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:424: container init caused "process_linux.go:407: running prestart hook 1 caused \"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --utility --require=cuda>=10.0 brand=tesla,driver>=384,driver<385 --pid=4760 /var/lib/docker/overlay2/2b42e419162d46fad61c0a70cbb7b16c79a8878f2dab1af682dbff4813b57316/merged]\\nnvidia-container-cli: requirement error: unsatisfied condition: brand = tesla\\n\""": unknown.

查看自己电脑安装的镜像文件,发现安装nvidia-docker时,拉取了3个不同标签(TAG)的 nvidia/cuda,如下图1所示。显卡驱动是安装好的,这里由于我用命令的时候没有指定 nvidia/cuda 的标签(TAG),所以默认情况下会直接调用标签为latest 。

重新指定标签(TAG)后,输入命令:nvidia-docker run --rm nvidia/cuda:9.0-base nvidia-smi ,则成功了。结果如图2 所示。

WIN10系统和Docker内部容器IP互通方式

WIN10系统和Docker内部容器IP互通方式

以上这篇WIN10系统和Docker内部容器IP互通方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/u014104286/article/details/82961203