docker搭建深度学习环境&pycharm配置docker远程调试

前言

Pycharm需要专业版。
远程服务器:安装docker(ssh默认已经配置好)
本地笔记本:安装专业版pycharm

1.远程服务器配置

1.docker安装

我使用的远程服务器系统是ubuntu18.04。

安装指定版本docker

sudo apt install curl
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial edge" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update && sudo apt-get install -y docker-ce=18.03.1~ce-0~ubuntu

上面的命令执行后,所有的准备工作就可以完成了

启动docker

sudo systemctl enable docker
sudo systemctl start docker

建立docker用户组

# 建立docker组
sudo groupadd docker
# 将当前用户加入docker组
sudo usermod -aG docker $USER

下面可以在终端输入docker info看是否可以使用docker,出现以下信息说明没问题。
docker搭建深度学习环境&pycharm配置docker远程调试

配置图像加速

执行sudo vim /etc/docker/daemon.json,如果系统中不存在该文件,可以新建一个文件。添加以下代码

{
 	"runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }, 
    "registry-mirrors": [
        "https://registry.docker-cn.com"
    ]
}

然后重启docker服务

sudo systemctl daemon-reload
sudo systemctl restart docker

2.docker配置深度学习环境,以pytorch为例

服务器是3090,因此找到对应版本的pytorch镜像,运行docker pull去拉取pytorch镜像,由于我们要使用gpu版本的pytorch,所以pull的是含有cuda和cudnn的,此外需要安装devel版,不安则不能查看到gpu信息,并且不能对cuda进行编译,

镜子拉

# 拉取镜像
docker pull pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel
# 运行镜像, 会创建一个名为pytorch的容器
docker run -it --name pytorch pytorch/pytorch:1.9.0-cuda11.1-cudnn8-devel /bin/bash
# 进入容器后,由于Pytorch镜像已包含有pip,可以看看当前容器安装了什么包
pip list    

做你自己的镜子

具体可参考10分钟学会Docker的安装和使用!
如果我们需要安装额外的包,则可以直接pip进行下载,然后exit退出当前容器,并把此容器打包成镜像就可以使用了。下面是保存容器以及镜像的操作:
1.首先查看容器,我们在run镜像的时候就会生成对应的容器。
输入docker ps -a查看正在运行和历史运行的容器
docker搭建深度学习环境&pycharm配置docker远程调试
因为我们前面起名的容器叫pytorch,可以看到第三行的容器就是我们想要的,容器id是6796c176b44c ,前面我们在这个容器里安装了额外的包,那么我们把它打包为镜像:
包格式为docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[tag]

# 提交容器为镜像
docker commit -m="提交说明" -a="作者" 6796c176b44c pytorch:1.9.0
# 此时可删除容器, 以及之前的那个镜像,避免保存镜像时空间不足
docker images #    查看刚保存的镜像 image_id
# 输出如下,成果制作好自己的镜像
REPOSITORY     TAG             IMAGE ID            CREATED             SIZE
pytorch        1.9.0           00deee90e8f8        15 hours ago        17.2GB

二、本地pycharm配置远程docker

1.服务器端配置

修改服务器docker的配置文件

sudo vim /lib/systemd/system/docker.service

输入更改如下
docker搭建深度学习环境&pycharm配置docker远程调试

将管理地址写入 /etc/profile

echo 'export DOCKER_HOST=tcp://0.0.0.0:2375' >> /etc/profile
source /etc/profile

重启docker服务

systemctl daemon-reload && systemctl restart docker

至此,服务端就准备好了。

2.本地pycharm配置

具体参考pycharm 配置远程docker解释器,这里做了一些补充

增加docker解释器

file->setting
docker搭建深度学习环境&pycharm配置docker远程调试
docker搭建深度学习环境&pycharm配置docker远程调试
然后查看你远程服务器ip:ifconfig,eno1的ip就是
docker搭建深度学习环境&pycharm配置docker远程调试
选择要使用的镜像
docker搭建深度学习环境&pycharm配置docker远程调试
docker搭建深度学习环境&pycharm配置docker远程调试
点OK确定即可。

编写测试脚本

在当前已经配置了解释器的项目下新建一个验证脚本hello_word.py
print(“hello world!”)

配置服务器和文件映射关系

(1)配置远程服务
tools->deployment->configuration
docker搭建深度学习环境&pycharm配置docker远程调试
docker搭建深度学习环境&pycharm配置docker远程调试
然后测试是否可以连接
docker搭建深度学习环境&pycharm配置docker远程调试
出现这个说明OK
(2)配置本地文件与服务器文件间的映射关系。
docker搭建深度学习环境&pycharm配置docker远程调试

上传本地脚本

配置完成后,可以上传本地文件到映射服务器路径
docker搭建深度学习环境&pycharm配置docker远程调试

配置脚本运行环境

docker搭建深度学习环境&pycharm配置docker远程调试
先设置下path mappings
docker搭建深度学习环境&pycharm配置docker远程调试
docker搭建深度学习环境&pycharm配置docker远程调试
再设置下docker container settings
docker搭建深度学习环境&pycharm配置docker远程调试
docker搭建深度学习环境&pycharm配置docker远程调试
至此所有配置完毕,下面就可以在本地运行远程docker容器里的python解释器了。
docker搭建深度学习环境&pycharm配置docker远程调试

其他参考:
当Docker遇见Deep Learning
使用Docker搭建实验室共享GPU服务器
Docker-修改docker数据存储目录

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年4月13日 下午6:45
下一篇 2022年4月15日

相关推荐