标签:nvidia sudo 环境 apt pytorch 服务器 镜像 docker 搭建
步骤:
一、安装docker
二、配置自己的镜像
三、在镜像中成功运行需要的程序
四、转为singularity需要的镜像
五、用服务器测试使用
一、安装docker
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
1.1、验证安装是否成功
# 查看docker服务是否启动:
systemctl status docker
# 若未启动,则启动docker服务
sudo systemctl start docker
# hello-world验证是否成功安装
sudo docker run hello-world
1.2、添加当前用户到 docker 用户组(目前没有做这一步)
groups
# 没有则新增docker组
sudo groupadd docker
# 把当前用户加入到docker组中
sudo gpasswd -a ${USER} docker
# 重启docker服务
sudo service docker restart
1.3、安装nvidia-docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee
/etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
# 验证安装是否成功
# 这里系统中没有这个镜像的时候,会自动从镜像库中拉一个下来
docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi
# 若安装成功则可以输出显卡信息
二、配置自己的镜像(以pytorch为例)
1、拉取镜像
docker pull pytorch/pytorch:nightly-runtime-cuda10.0-cudnn7
2、查看已下载的镜像
docker images
3、在一个容器中运行想要的镜像
启动的同时注意挂载work-master目录到docker-container。其命令如下:
nvidia-docker run --rm -it --name mytest -v ~/sh/work-master/:/workspace pytorch/pytorch:nightly-runtime-cuda10.0-cudnn7
--rm 表示在结束container运行后,立刻删除container。不然的话还需要手动删除
-it 表示以交互方式启动
--name myRgmp 表示给启动的container一个名字,且其名字为mytest
-v 将本地目录挂载到docker-container中,这里就是把我要跑的代码的master作为workspace
# 注意这里的 ~/sh/work-master/ 是ubuntu系统中程序代码所在的绝对路径,后面跟着的:/workspace注意要记得加上,貌似是为了挂载用
# pytorch/pytorch 为需要的镜像
# nightly-runtime-cuda10.0-cudnn7 为指定的镜像标签
#这里还要注意,启动方式要么为nvidia-docker,要么为docker run --runtime=nvidia
#一般用上面的就可以实现相关的操作,进入到容器中,并且处于master所在目录下
# 还有一个问题是记得要先把相关的文件在本地拷贝好再启动镜像和容器
4、在pytorch的系统中安装程序所需要的依赖
# 目前这个pytorch的镜像大多数都安装好了,有python和pip,如果还需要别的模块自行安装即可
pip install opencv-python
pip install scikit-image
三、在镜像中成功运行需要的程序
1、测试环境
python main.py
# 测试用的程序简单的调用main函数即可运行
2、运行成功后记得将镜像保存到本地以备下次使用
另开一个新终端
镜像保留在本地的命令为:
docker commit conatiner_id user_specific_image_name
-conatiner_id 是容器的id
-user_specific_image_name 是要保存的名字
查看当前所有的容器
docker ps
也就是:
docker commit ae6b8f58fae5 myouttorch.image
# docker image 查看当前的所有镜像,看看刚刚是否有保存成功
# 保存成功后即可得到所需要的镜像,然后按照服务器的需求做相关的操作
四、转为singularity需要的镜像
1、先将image转为本地的镜像保存
docker save : 将指定镜像保存成 tar 归档文件。
docker save -o myouttorch.tar myouttorch.image
这里不用登录私有镜像仓库
在本地docker下,给镜像打上标签
docker tag c29284518f49 10.**.**.127:8088/sunhu/pytorch:latest
# IP地址后面是服务器中自己的工作空间的名字
# 加上类型和原始标签
上传镜像
docker push 10.**.**.127:8088/sunhu/pytorch:latest
然后就可以在Harbor中查看上传到服务器的镜像
标签:nvidia,sudo,环境,apt,pytorch,服务器,镜像,docker,搭建 来源: https://blog.csdn.net/yestaday/article/details/118763304
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。