WIN10系统和Docker内部容器IP互通方式(docker容器访问宿主机ip)

admin 242 2022-07-24

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

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

192.168.99.100

WIN10系统和Docker内部容器IP互通方式(docker容器访问宿主机ip)

2.启动一个mysql镜像,并获取这个镜像的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 网络段的路由

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

补充知识: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 所示。

上一篇:云备份是什么意思?云存储与云备份有什么区别?(云备份和云储存有什么区别)
下一篇:人工智能的概念?人工智能的发展趋势有哪些?(从人工智能的发展方向来看人工智能的分类)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~