怎么添加在安装好的nvidia-docker上面根据Dockerfile构建自己所需要的运行环境
在已经创建好nvidia-docker环境之后,对于新手小白来说,又有一个问题了,就是如何根据Dockerfile来构建试验所需要的docker环境
主要是以下几个步骤
首先创建一个mydocker文件夹
sudo mkdir mydocker
由于我是服务器上的普通用户,通过su然后输入密码才可以使用sudo命令,因此就出现一个问题:生成的mydocker文件夹是上锁的
如图所示,刚开始尝试普通用户的方式将Dockerfile移到mydocker中去
首先到mydocer所在的路径
cd mydocker
然后把Dockerfile拖进去
出现的问题:对于mydocker是通过管理员权限来生成的,所以对其没有访问权限,因此只能通过命令来对其实现拷贝
通过命令
sudo cp Dockerfile mydocker
实现对其的拷贝,点进去文件夹里面看,拷贝成功
然后构建代码所需要的环境
docker build -f mydocker/Dockerfile -t my docker:1.01 .
在这里一定要注意最后的点一定要加,并且一定要空格,我刚开始的时候没有空格倒腾了好久
输入之后,如果看到是在下载很多东西,那么就证明你构建成功啦
最后一步,在你将这个镜像文件生成之后,把mydocker文件夹里的Dockerfile复制到之前生成的docker_image文件夹中并将mydocker文件夹删除,然后输入下列代码
nvidia-docker run --rm -it -v HOST_FOLDER:/share DOCKER_IMAGE bash
对于这段代码的意义是:这个镜像运行之后会生成一个新的环境,可以理解为一个小的linux系统,这个系统包含了我们所需要的实验环境,:/share代表你新生成环境的主目录,HOST_FOLDER代表你要将现在的主机的某个目录也就是宿主机的某个目录挂载/share下,就像你把u盘挂到某个目录一样,这样你才可以在新的环境访问你主机上的文件,要注意的是HOST_FOLDER要写成绝对路径,例如:
nvidia-docker run --rm -it -v /home/litong/abnormal_detection:/share lt_docker:1.01 bash
DOCKER_IMAGE可以通过docker images命令来看生成的镜像环境名称及版本号
要查看电脑所构建的镜像环境
docker images
如果要在最后生成的环境中再安装一些其他的包什么,可以直接在内部安装,只是在最后退出的时候记得输入以下指令:
sudo docker commit b58cb49f882d mydocker:1.01
需要注意的是,b58cb49f882d并不是固定的,每次运行时都不一样,就是在你运行时root之后