pycharm 非局域网下 远程连接服务器docker中的conda环境

前提条件:有外网ip。

可以买个阿里云域名(一般实验室配置)

用蒲公英(参考我的这篇文章,一般是个人使用,免费三个用户)
https://blog.csdn.net/weixin_75205835/article/details/135159099?spm=1001.2014.3001.5502

这一篇我们可以在局域网内直接通过ssh就能够连接到docker容器,但这有个非常大的局限性,就是只能在局域网内。但是一般来说服务器都放在小黑屋里,你不可能一直就一直在小黑屋里待着,肯定处于局域网外了。这就矛盾了!那怎么连接呢!

方法有二:

第一个:也是我们本文所探讨的。-v文件映射法

第二个:如果是买了类似于阿里云的域名,能够固定域名进行端口映射的也可以哦。就可以像ssh连接那样进行端口映射啦。

1.构建docker镜像

这一部分在这里已经说的很明白了。但是这一步没有太明白就导致我两周都在寻求答案。

只要是docker容器更改的,这两个-v文件都会同步做出更改。

-v既然可以做数据集和代码的文件映射,当然也可以放conda环境啦。这样我们就可以连接啦。

复制代码
docker run --name test4 -it -v /home/xxfs/project/test/anaconda3:/root/anaconda3 -v /home/xxfs/project/test/yolov5:/yolov5 -p 10022:22 --gpus all --ipc=host e1ff5e8cfa9f 

一般来说别直接将代码文件放在home文件夹下,会没有权限写入,导致传不上去文件。这不就纯纯鸡肋嘛。(图忘记截了,最后给的/home文件夹放权)

建议直接在根目录下创建/project/yolov5直接对project放权就好了,不会对系统造成很大的影响。

复制代码
docker run --name test4 -it -v /home/xxfs/project/test/anaconda3:/root/anaconda3 -v project/yolov5:/yolov5 -p 10022:22 --gpus all --ipc=host e1ff5e8cfa9f 

然后像上一篇文章一样进行pycharm配置就好了。

2.怎么下载conda包

根据上一篇文章来,就可以啦,但是这个需要进入到docker容器里面做更改了。像这样

一般我们使用的是docker的root登录,他会提示你这个权限太大了,最好选择一般用户。大家按需索取。


第二种方法讲个思路:

当我们将服务器本地的端口(任意空闲端口)映射到docker容器的22端口后,即上面的-p选项,通过ssh root@服务器本地ip -p 端口连接。然后我们可以将这个端口,root,docker密码都映射到外网的ip端口上。具体我没有操作,理论上可以实现。

欢迎大家订阅本专栏。期待你的关注哦

相关推荐
毕业设计7032 小时前
(免费领源码)django空气净化器销售系统09218- java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
python·scrapy·mysql·pycharm·django·flask·pandas
Wang's Blog2 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代3 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
灯澜忆梦4 小时前
【docker】#2 | 基础命令
docker·容器·eureka
程序员老赵6 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd8 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
Pocker_Spades_A9 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记18 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd1 天前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全