配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器


前言

容器配置需要基于安装好docker和nvidia-docker条件下。
这边配置容器有两条路,一种是直接在docker hub拉取yolov5的镜像,但是大小有十几个G,包含不需要的一些库。另一种是拉取nvidia/cuda镜像,并自己在里面配置环境。这边主要叙述第二种。


一、直接拉取yolov5镜像

https://hub.docker.com/
进入网址,搜索yolov5
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第1张图片
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第2张图片
在服务器输入如下指令即可

docker pull ultralytics/yolov5

二、自己选取cuda镜像并配置环境

1.拉取cuda镜像

搜索nvidia/cuda

配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第3张图片
点进去在tag选择标签号
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第4张图片
我是选择11.3.1版本 11.3.1-devel-ubuntu18.04
在这里插入图片描述

直接拉取

docker pull nvidia/cuda:11.3.1-devel-ubuntu18.04

配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第5张图片

sudo docker images #查看已经有的镜像

拉取成功
在这里插入图片描述

2.利用pycharm,通过SSH连接Docker容器内部的解释器。

这有什么好处呢,就是我可以直接在pycharm调试容器里面的代码,并且可以在pycharm实现可视化结果。调试的环境也是容器的环境,就很方便。
首先本机pycharm的项目位置要确定配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第6张图片

2.1在服务器创建容器

sudo docker run -di --name yolo-docker -p 33320:22 nvidia/cuda:11.3.1-devel-ubuntu18.04
sudo docker ps #查看目前在运行的容器

)
进入容器

sudo docker exec -it yolo-docker /bin/bash

在这里插入图片描述
先更新下:

apt-get update  #更新

配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第7张图片
下载vim

apt-get install vim

在这里插入图片描述
如果下载太卡,可以更换镜像源

vim /etc/apt/sources.list

把里面的内容替换为下方的

deb https://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb-src https://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb https://mirrors.aliyun.com/debian-security/ bullseye-security main deb-src https://mirrors.aliyun.com/debian-security/ bullseye-security main deb https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib

在服务器端安装passwd,openssl openssh-server 和 openssh-client

apt-get install passwd openssl openssh-server openssh-client -y

在这里插入图片描述
我重新输入了一次安装指令,判断是否安装了
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第8张图片
设置用户名和密码,自己设定密码,后面pycharm需要

passwd root

在这里插入图片描述

更新配置文件

vim /etc/ssh/sshd_config

把下方的内容复制到配置文件下

PubkeyAuthentication yes #启用公钥私钥配对认证方式 
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径 
PermitRootLogin yes #root能使用ssh登录

配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第9张图片
出现乱码不影响,主要是注释前的内容

启动service

service ssh start

在这里插入图片描述
在这里插入图片描述

2.2在pycharm配置

打开设置,找到ssh interpreter
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第10张图片
输入host, username ,port
host是宿主机ip地址
username 是root
port 是你容器-p宿主机的映射端口,例如我是33320
好了点击next

配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第11张图片
输入设置的密码,next
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第12张图片
在服务器寻找你的python安装路径,一般在、/usr/bin/下
在这里插入图片描述
然后自己在服务器中创建一个需要映射项目的地址,也就是主机与服务器容器可以互相映射的项目位置。
我在home 下新建一个yolov5-docker文件,然后我pycharm配置好ssh后,是可以直接将本地项目同步到容器路径下的项目。可以同步 /home/yolov5-docker
在这里插入图片描述

在这里插入图片描述
这样可以将两个文件联系一起
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第13张图片
如下是最终样子
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第14张图片
Finish overwrite
还要在编辑配置这改Working directory
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第15张图片
配置docker-yolov5容器,并在pycharm实现ssh连接docker解释器_第16张图片

只需要在项目下右键打开,可以看到Deployment,秩序upload就可以将文件同步到容器中,也可以download下载容器内变化的文件。就可以在pycharm开发配置容器环境和调试代码了。

然后在容器内安装pip配置环境
在这里插入图片描述

你可能感兴趣的:(docker,docker,pycharm,ssh)