Noonisy
docker的深度学习使用
2023-02-01
阅读:421

docker的深度学习使用


安装

1.首先,更新软件包索引,并且安装必要的依赖软件
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2.使用下面的 curl 导入源仓库的 GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.将 Docker APT 软件源添加到你的系统
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
4.想要安装 Docker 最新版本,运行下面的命令
sudo apt install docker-ce docker-ce-cli containerd.io
5.一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它
sudo systemctl status docker

# 如果没有添加用户,将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新加载组设置(或者重新登录系统)
newgrp docker
6.修改docker容器默认存储位置
6.1 查看信息
docker info
# 默认 /var/lib/docker
6.2 修改
sudo mkdir /data/dockerlib
sudo mkdir /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/docker.conf
# 填写
[Service]
ExecStart=/usr/bin/dockerd --graph="/data/dockerlib"
# 保存退出
6.3 重启
# 重新reload配置文件
sudo systemctl daemon-reload
# 重启docker服务
sudo systemctl restart docker
7.修改docker源
sudo vim /etc/docker/daemon.json
# 填写中科大源
{
    "registry-mirrors":[
         "https://docker.mirrors.ustc.edu.cn"
    ],
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
# 重新reload配置文件
sudo systemctl daemon-reload
# 重启docker服务
sudo systemctl restart docker 

使用

8.docker中使用GPU
8.1 新建s.sh,运行sh s.sh
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt update
8.2 安装nvidia-container-runtime
sudo apt install nvidia-container-runtime
# 重启docker
systemctl restart docker 
8.3 安装NVIDIA Container Toolkit
sudo apt install -y nvidia-container-toolkit
# 重启docker
systemctl restart docker 
使用 nvidia-container-toolkit --version 命令检查是否安装完成

9.拉取镜像
docker比较新,version 19.03 or later
ngc地址
# xx.xx是ngc中pytorch的镜像版本,选择了22.10
docker pull nvcr.io/nvidia/pytorch:22.10-py3
# 等待下载,需要一定时间
10.运行
# 查看所有镜像
docker images
# 查看所有容器
docker ps -a
# 查看当前运行的容器
docker ps
# 运行一个新镜像,创建一个新容器
docker run -it --gpus all --name pytorch -v /home/ubuntu:/workspace nvcr.io/nvidia/pytorch:xx.xx-py3
# 启动停止的容器
docker start ID/NAME
# 停止运行中的容器
docker stop ID/NAME
# 删除一个容器
docker rm pytorch
# 重命名容器
docker rename old_name new_name
# 进入容器
docker exec -it ID/NAME
docker attach ID/NAME
# 参看日志
docker logs --since 30m ID # 近30分钟
docker logs -f -t --tail 行数 ID # 实时打印
# docker 加时区
docker run ... -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro
11.其他
11.1 杀死容器中的python进程
kill -9 `ps ux | grep -i "\bpython" | awk '{print $2}'`
11.2 批量修改文件权限
# 赋予所有模型,可读可写权限,u是user,-R是递归文件夹下所有文件
sudo chmod -R u+rw checkpoints/*
# 取消可读可写权限
sudo chmod -R u-rw checkpoints/*
最后编辑于:2024 年 10 月 30 日 22:39
邮箱格式错误
网址请用http://或https://开头