VMware16+Ubuntu18.04+Docker打包pytorch深度学习环境镜像

简介

笔者小白,近期实验使用到了集群,需自己打包环境上传,因此学习了一点Docker的使用,在此做下记录,可供需要的朋友参考。

笔者电脑为Windows系统,由于Docker需要工作在Linux系统上,故选择在虚拟机上安装Ubuntu。

虚拟机

安装VMware16

目前最新版本是17,笔者使用的是16,需要的朋友可以自行去官网下载17,也可以下载16:

链接:https://pan.baidu.com/s/1rwEZ00AUqLC2QYp7Iq2uLQ
提取码:bigi

具体可以根据需要更改安装选项,安装完毕后启动VMware并激活。

在这里插入图片描述

新建虚拟机

(1) 点击创建虚拟机,这里选择自定义。

在这里插入图片描述
在这里插入图片描述
(2) 选择稍后安装操作系统。

在这里插入图片描述
在这里插入图片描述
(3) 指定你希望的路径。

在这里插入图片描述
(4) 根据自己机器的性能选择配置,这里笔者用默认选项演示。

在这里插入图片描述
在这里插入图片描述
(5) 接下来一路点到底就可以了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(6) 磁盘建议能开大点就开大点,日后可以少扩容几次。

在这里插入图片描述
(7) 这里还是选择了20GB来做演示。

在这里插入图片描述
(8) 点击完成,新建虚拟机成功。

在这里插入图片描述

操作系统

下载iso文件

进入清华大学开源软件镜像站下载Ubuntu18.04光盘映像文件。

在这里插入图片描述
在这里插入图片描述
这里笔者选择的是桌面版,和服务器版相比多了图形化界面。

安装Ubuntu18.04

(1) 下载好iso文件后,点击进入设置,指定刚才下载的iso文件。
在这里插入图片描述
(2) 点击显示器,取消红框处勾选,若不取消,一会儿可能会卡在黑屏。

在这里插入图片描述
(3) 点击确定后,开启虚拟机进入装机页面如图,点击安装并选择语言。

在这里插入图片描述
在这里插入图片描述
(4) 选择语言后会进入到如下页面,这里选择最小化安装。

在这里插入图片描述
在这里插入图片描述
(5) 点击安装、选择所在地后,设置用户名和密码。

在这里插入图片描述
在这里插入图片描述
(6) 安装完后点击重启,界面提示移除安装中间件。

在这里插入图片描述
(7) 此时关闭虚拟机,进入设置取消红框处勾选,再重新启动虚拟机即可。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Docker

注: 本章节所有的操作是笔者在自己的虚拟机上完成的(非刚才的演示版本),磁盘空间为100G,加了一些个性化配置,不影响演示。

安装Docker

sudo apt-get update					# 更新软件列表
sudo apt-get install -y docker.io	# 默认yes安装docker

检查是否安装成功:

docker -v

若成功则会出现版本信息。

在这里插入图片描述

基础配置

安装成功后运行如下命令:

sudo systemctl start docker		# 启动docker
sudo systemctl status docker	# 查看docker运行状态

运行状态查询如下:

在这里插入图片描述
为了操作方便,可以进行如下设置:

sudo groupadd docker				# 新增docker用户组(安装完docker后自动创建)
sudo gpasswd -a 用户名 docker		# 将登陆用户加入到docker用户组中
newgrp docker						# 更新用户组,以后使用docker相关命令不需要sudo
sudo systemctl enable docker		# 设置开机启动docker

自定义镜像

注: 本小节仅演示如何在dockerhub镜像的基础上自定义自己的镜像,更详细的Docker使用请移步 参考资料2

(1) 进入dockerhub对应栏目拉取需要的镜像。

在这里插入图片描述
在这里插入图片描述
这里选择devel版本是因为它包含cuda的nvcc包,而runtime版没有。

该镜像已经包含了pip、conda等工具。

(2) 拉取镜像完成后检查是否拉取成功,接着启动镜像(创建容器)。

docker images							# 显示所有镜像
docker run --name 容器名 -idt 镜像名		# 为image创建容器并指定容器名

(3) 根据容器id进入容器。

docker ps					# 显示正在运行的容器
docker ps -a				# 显示所有容器
docker start 容器id			# 启动容器
docker attach 容器id		# 进入容器
# docker exec -it 容器id /bin/bash 也是进入容器

在这里插入图片描述
(4) 进入容器后,使用pip或者conda install直接添加自己需要的package。

在这里插入图片描述
(5) 添加完成后 退出容器(Ctrl+D),接着提交该容器为一个新镜像,最后保存至本地。

docker commit 容器id 新的镜像名:tag
docker save -o 镜像包名.tar.gz 新的镜像名:tag		# tar和tar.gz都可以,看自己需要

可以看到提交该容器后生成了一个新镜像。

在这里插入图片描述

镜像打包结束后,就可以上传到集群进行后续操作和使用了,默认保存在 /home/用户名/ 目录下。

在这里插入图片描述

打好的包可用ssh远程等方式传回宿主机,由于本文篇幅较长,这里就不做赘述了。

至此,所有的演示结束。

总结

由于笔者仅需要打包镜像上传,没有更深的研究,所以本次记录的只是一些简单的入门操作。若本文有记录不对的地方,还望各位朋友指正。

过程中可能会碰见的问题

  1. 安装ubuntu可能黑屏:详见安装Ubuntu18.04章节
  2. 网络连接失败/图标消失:重启网络服务,详见参考资料3
  3. 打包镜像到一半剩余空间不够:扩容磁盘空间,详见参考资料4

参考资料

  1. 10分钟学会Docker的安装和使用!
  2. (本人自用)将本地的anaconda环境封装到docker中并导出为压缩包
  3. 简单几行命令解决ubuntu右上角的网络连接图标消失的问题
  4. vmware:ubuntu虚拟机如何扩容?
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值