九、PyCharm+Docker:打造最舒适的深度学习炼丹炉
安装docker:
如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose
https://zhuanlan.zhihu.com/p/547169542
修改Linux硬盘卷标:
ntfs文件系统:
ex2、3、4文件系统:https://cn.linux-console.net/?p=1185#gsc.tab=0
旧版本Docker文件夹导入:
https://zhuanlan.zhihu.com/p/95533274
启动demo容器(docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi)
遇到错误:Unknown runtime specified nvidia
因为没有安装nvidia-docker,
参考博客安装nvidia-docker:
参考上面的方法导入旧版本Docker文件夹,然后尝试(sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi)
对于Centos系统参照这两篇文章:
安装docker
https://www.runoob.com/docker/centos-docker-install.html 使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
安装nvidia-docker2
https://zhuanlan.zhihu.com/p/540669989 具体操作步骤为:
Setup the repository and the GPG key
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
Setup the repository and the GPG key
安装nvidia-docker2(网络网络不是很好,会稍微慢一点)
sudo yum install -y nvidia-docker2
重启docker
sudo systemctl restart docker
Docker已创建容器修改远程文件夹地址:
PyCharm+Docker
https://zhuanlan.zhihu.com/p/52827335
sudo docker run --runtime=nvidia(--gpus all) --shm-size="8g" -p 4321:22 -p 4322:6006 -p 4323:80 --name="pytorch_1.8" -v /mount_disk/docker-v:/remote_workspace -it pytorch/pytorch:1.8... /bin/bash
十、docker 镜像导出导入
docker 镜像导出
首先查看下现有要打tar包的容器
docker ps -a
接下来用commit参数进行保存镜像, -a 提交人的姓名 -m “提交内容”,格式如:docker commit -a -m 现有容器ID 保存后的名称:版本号
docker commit -a "tmf" -m "tmf-web" 7740db56288a tmf-web:v20191123
接下来查看下镜像是否出现:
docker images
然后save参数进行打包,格式如:docker save -o 要打镜像包名称 镜像
docker save -o tmf-web20191123.tar tmf-web:v20191123 注意保存的是镜像不是容器
docker export -o D:\containers\dockerdemocontainer.tar dockerimagename如果导入失败,可以尝试直接保存并导入容器
docker import dockerdemocontainer.tar imagename:version
tar 文件压缩
#压缩
[root@localhost tmp]# gzip buodo
[root@localhost tmp]# ls
buodo.gz
#解压
[root@localhost tmp]# gunzip buodo.gz
[root@localhost tmp]# ls
buodo
scp文件传输:
$scp -P 端口号 传输文件的路径 用户名@主机:路径
如果要复制整个带路径的文件
则
$scp -P 端口号 -r 传输文件的路径 用户名@主机:路径
tar文件拆分与合并
1. 打包压缩文件
tar -czf file.tar.gz filedir
2. 解压文件
tar -zxf file.tar.gz
3.分割大文件,每个文件最大100M
3.1)
split -b 100m file.tar.gz file.tar.gz.
3.2)后缀设为两位数字
split -a 2 -d -b 100m file.tar.gz file.tar.gz
4.合并文件
cat file.tar.gz.* > file.tar.gz
5. 打包压缩分割大文件
tar -czf - filedir | split -a 2 -d -b 100m - file.tar.gz
6. 合并解压文件
cat file.tar.gz.* | tar -zxf -
原文链接:
docker 镜像导入
然后把打好的包传到另外一台服务器上进行部署或者升级操作
首先进行load进行导出镜像操作 load:导入使用 docker save 命令导出的镜像。
docker load -i tmf-web20191123.tar
然后查看是否出现镜像
docker images