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

前言

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

一、远程服务器配置

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远程调试_第1张图片

配置镜像加速

执行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就可以查看正在运行以及历史运行过的容器
在这里插入图片描述
因为我们前面起名的容器叫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远程调试_第2张图片

将管理地址写入 /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远程调试_第3张图片
docker搭建深度学习环境&pycharm配置docker远程调试_第4张图片
然后查看你远程服务器ip:ifconfig,eno1的ip就是
docker搭建深度学习环境&pycharm配置docker远程调试_第5张图片
选择要用的镜像
docker搭建深度学习环境&pycharm配置docker远程调试_第6张图片
docker搭建深度学习环境&pycharm配置docker远程调试_第7张图片
点OK确定即可。

编写测试脚本

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

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

(1)配置远程服务
tools->deployment->configuration
docker搭建深度学习环境&pycharm配置docker远程调试_第8张图片
docker搭建深度学习环境&pycharm配置docker远程调试_第9张图片
然后测试看能否连接
docker搭建深度学习环境&pycharm配置docker远程调试_第10张图片
出现这个说明OK
(2)配置本地文件与服务器文件间的映射关系。
docker搭建深度学习环境&pycharm配置docker远程调试_第11张图片

上传本地脚本

配置好后就可以上传本地文件到映射服务器路径
docker搭建深度学习环境&pycharm配置docker远程调试_第12张图片

配置脚本运行环境

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

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

你可能感兴趣的:(软件安装,docker,pycharm,pytorch,ubuntu)