怎么添加在安装好的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要写成绝对路径,DOCKER_IMAGE可以通过docker images命令来看生成的镜像环境名称及版本号

 要查看电脑所构建的镜像环境

docker images

 如果要在最后生成的环境中再安装一些其他的包什么,可以直接在内部安装,只是在最后退出的时候记得输入以下指令:

sudo docker commit b58cb49f882d mydocker:1.01

需要注意的是,b58cb49f882d并不是固定的,每次运行时都不一样,就是在你运行时root之后

原文地址:https://www.cnblogs.com/Cucucudeblog/p/10426215.html