前言
容器配置需要基于安装好docker和nvidia-docker条件下。
这边配置容器有两条路,一种是直接在docker hub拉取yolov5的镜像,但是大小有十几个G,包含不需要的一些库。另一种是拉取nvidia/cuda镜像,并自己在里面配置环境。这边主要叙述第二种。
一、直接拉取yolov5镜像
https://hub.docker.com/
进入网址,搜索yolov5
在服务器输入如下指令即可
docker pull ultralytics/yolov5
二、自己选取cuda镜像并配置环境
1.拉取cuda镜像
搜索nvidia/cuda
点进去在tag选择标签号
我是选择11.3.1版本 11.3.1-devel-ubuntu18.04
直接拉取
docker pull nvidia/cuda:11.3.1-devel-ubuntu18.04
sudo docker images #查看已经有的镜像
拉取成功
2.利用pycharm,通过SSH连接Docker容器内部的解释器。
这有什么好处呢,就是我可以直接在pycharm调试容器里面的代码,并且可以在pycharm实现可视化结果。调试的环境也是容器的环境,就很方便。
首先本机pycharm的项目位置要确定![在这里插入图片描述](https://img-blog.csdnimg.cn/3d8c2f90d00b440c94b9487c96d30aab.png)
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 #更新
下载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
我重新输入了一次安装指令,判断是否安装了
设置用户名和密码,自己设定密码,后面pycharm需要
passwd root
更新配置文件
vim /etc/ssh/sshd_config
把下方的内容复制到配置文件下
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
PermitRootLogin yes #root能使用ssh登录
出现乱码不影响,主要是注释前的内容
启动service
service ssh start
2.2在pycharm配置
打开设置,找到ssh interpreter
输入host, username ,port
host是宿主机ip地址
username 是root
port 是你容器-p宿主机的映射端口
,例如我是33320
好了点击next
输入设置的密码,next
在服务器寻找你的python安装路径,一般在、/usr/bin/下
然后自己在服务器中创建一个需要映射项目的地址,也就是主机与服务器容器可以互相映射的项目位置。
我在home 下新建一个yolov5-docker文件,然后我pycharm配置好ssh后,是可以直接将本地项目同步到容器路径下的项目。可以同步 /home/yolov5-docker
这样可以将两个文件联系一起
如下是最终样子
Finish overwrite
还要在编辑配置这改Working directory
只需要在项目下右键打开,可以看到Deployment,秩序upload就可以将文件同步到容器中,也可以download下载容器内变化的文件。就可以在pycharm开发配置容器环境和调试代码了。
然后在容器内安装pip配置环境