赞
踩
任务:在windows11中,已有一个docker容器,但是没有端口暴露,要给其添加端口暴露,并启动jupyter notebook
给已有的容器添加端口暴露,主要难点在找到对应容器的hostconfig.json
和config.v2.json
这两个配置文件。
首先查找容器的长id,命令:
docker inspect 短id| grep 短id
例如:
在任务管理器中关闭docker desktop及服务。
在windows11中,wsl2中的docker是基于windows里的docker desktop,则这两个配置文件的路径在\\wsl.localhost\docker-desktop-data\data\docker\containers
如下图:
在hostconfig.json
中添加主机到docker容器的映射窗口
"PortBindings": { "12334/tcp": [ { "HostIp": "", "HostPort": "12334" } ], "12345/tcp": [ { "HostIp": "", "HostPort": "12345" } ], "8887/tcp": [ { "HostIp": "", "HostPort": "8887" } ], "8888/tcp": [ { "HostIp": "", "HostPort": "8888" } ] },
在config.v2.json
中添加docker容器的暴露端口:
"Ports": { "12334/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "12334" } ], "12345/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "12345" } ], "8887/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8887" } ], "8888/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "8888" } ] },
注意,如果之前没有添加过,则这个Ports
是不存在的,那自己手写一个就行,将这个ports
写在Service
和SandboxKey
之间。
检查一下:
打开docker desktop,找到对应的容器,可以看到端口映射情况
或者通过docker ps也能看到
配置jupyter notebook比较简单,参考博客:链接
运行jupyter notebook:
(cudf) root@8274e2789343:/# jupyter notebook -port 12334 --allow-root
虽然我添加了命令-port 12334
,但看它命令行里实际使用的端口是8887
,因为我配置文件里的端口号写的8887。
在windows浏览器中输入localhost:8887
,成功运行!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。