pycharm连接服务器上的docker容器

1.从阿里云pull镜像到服务器上

docker login --username=aliyun2120888823 registry.cn-hangzhou.aliyuncs.com
docker pull registry.cn-hangzhou.aliyuncs.com/nlp_mds/nlp:[镜像版本号]

2.根据镜像创造容器

sudo docker run -p [自选端口号]:22 --gpus all -itd --name [自己起个名字] -v [宿主机(本地)的目录]:[自定义创建好的容器内的目录] [image_name:tag] /bin/bash

for example:
sudo docker run -p 6666:22 --gpus all -itd --name nlp1.0 -v /mlspace/lyq/docker:/nlp  registry.cn-hangzhou.aliyuncs.com/nlp_mds/nlp:1.0 /bin/bash

相关参数的说明:

-p [自选端口号]:22:同时将该容器映射到对应的端口号,并与22号端口进行关联监听;
–gpus all:指定该实例化的容器内可使用所有宿主机包含的gpu;
-i:保持STDIN开启;
-t:分配一个伪终端;
-d:在后台运行
–name [自己起个名字]:为了避免记住冗长复杂的容器id,通常可为容器设置一个名称,注意不要与现有的名称相同;
-v [宿主机(本地)的目录]:[自定义创建好的容器内的目录]:为了让容器内的文件与宿主机保持同步,可执行该参数,注意自定义创建好的容器内目录必须是绝对路径。

可能出现运行错误: docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

原因:缺少了 NVIDIA Container Toolkit

# 1、添加源
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# 2、安装并重启
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

3.开通端口

sudo /sbin/iptables -I INPUT -p tcp --dport 6666 -j ACCEPT

4.启动容器

sudo docker start [容器id或自己起的名字]
sudo docker ps -a  # 查看运行中的容器

5.进入容器

sudo docker exec -it  [容器id或自己起的名字]  /bin/bash

6.配置容器的ssh服务

1) 安装ssh

apt-get update && apt-get upgrade
apt-get install openssh-server

2) 使用vim打开并修改配置文件

vim /etc/ssh/sshd_config

3) 将源文件中的PermitRootLogin、PasswordAuthentication和Subsystem注释掉,并替换为下列内容:

PermitRootLogin yes 
PasswordAuthentication yes 
Subsystem sftp internal-sftp

4) 创建docker中root用户的密码

passwd root

5) ssh服务重启

service ssh restart

验证容器的ssh服务

# 服务器中查看是否有对应的端口
sudo netstat -ntlp
# 尝试ssh连接
ssh [创建的用户名]@[服务器地址] -p [自己定义的端口号]

pycharm通过ssh来连接服务器上的docker

1)python interpreter ===》add interpreter ===》选择ssh interpreter
其中 host:服务器的ip,name:root,port:6666(即自己设定的端口),然后点击next
2)输入刚才设置的密码,点击next
3)选择容器里的python环境(/opt/conda/bin/python),点击finish

# 查看Python所在的目录:
import sys
pythonpath = sys.executable
print(pythonpath)

查看GPU使用情况

nvidia-smi
posted @   嘎吱嘎吱脆  阅读(852)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示