在已经创建好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之后

怎么添加在安装好的nvidia-docker上面根据Dockerfile构建自己所需要的运行环境的更多相关文章

  1. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  2. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境(转)

    前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常 ...

  3. [转]Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    本文转自:http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 ...

  4. Docker 实战—使用 Dockerfile 构建镜像

    Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpi ...

  5. docker(四) 使用Dockerfile构建镜像

    下面以一个例子来演示构建镜像的过程. #在/tmp目录下演示 cd tmp mkdir build-redis-image 1.创建Dockerfile文件 vim Dockerfile 并写入如下内 ...

  6. Docker学习(12) Dockerfile构建过程

    Dockerfile的构建过程 以上为构建缓存

  7. Docker:使用Jenkins构建Docker镜像

    Docker  彭东稳  1年前 (2016-12-27)  10709次浏览  已收录  0个评论 一.介绍Jenkins Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从 ...

  8. docker 和 vagrant 作为程序发布 和 开发的独立而统一的运行环境

    docker 和 vagrant 作为程序发布 和 开发的运行环境,可以提供打包程序,并使得程序运行在一个独立的虚拟环境中,避免程序发布到客户机之后,环境不一致导致的诸多问题.     refer: ...

  9. centos7 安装 NVIDIA Docker

    安装环境: 1.centos7.3 2.NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] 安装nvidia-docker a.安装docker 可参考ce ...

随机推荐

  1. 解决vue数据渲染过程中的闪动问题

    关键代码 主要解决vue双大括号{{}}在数据渲染和加载过程中的闪动问题,而影响客服体验. html代码: <span class="tableTitle selftab" ...

  2. 安卓开发:初识Android Studio

    配置:Android Studio3.2.0,gradle-4.6 ,windows10  一.Android Studio安装 在http://www.android-studio.org/完成下载 ...

  3. QT通过url下载图片到本地

    /* strUrl:下载图片时需要的url strFilePath:下载图片的位置(/home/XXX/YYY.png) */ void ThorPromote::downloadFileFromUr ...

  4. Serial Splitter 4.2 串口拆分说明

    使用方法 有些设备和程序只能使用COM端口.如果计算机没有COM端口,或者已经被其他应用程序占用,则需要创建虚拟串行端口.在串行分配器中,我们使用虚拟串行端口驱动程序技术,它可以在系统中创建任意数量的 ...

  5. Linux SVN安装

    step1:检查是否已经安装Svn Server. svnserve --version step2:执行安装 step3:创建代码仓库 进入对应目录: 说明: conf:配置文件 db:数据存储文件 ...

  6. C# -- 使用 DriveInfo 获取磁盘驱动器信息

    C# -- 使用 DriveInfo 获取磁盘驱动器信息 1. 代码实现 class Program { static void Main(string[] args) { GetComputerDi ...

  7. 我的第一个python web开发框架(39)——后台接口权限访问控制处理

    前面的菜单.部门.职位与管理员管理功能完成后,接下来要处理的是将它们关联起来,根据职位管理中选定的权限控制菜单显示以及页面数据的访问和操作. 那么要怎么改造呢?我们可以通过用户的操作步骤来一步步进行处 ...

  8. EJS 语法

    教程

  9. Linux新手随手笔记1.6

    RAID磁盘冗余阵列 1.I/O  速度 2.数据安全性  RAID 0 负载均衡.速度乘以二,但是数据安全性不行,任何一块盘损坏数据都会丢失. RAID 1 安全性性提升2倍,任何一个损坏另一个都有 ...

  10. OSI模型网络七层协议

    物理层 物理层是OSI的第一层,它虽然处于最底层,却是整个开放系统的基础.物理层为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境. 1.1媒体和互连设备 物理层的媒体包括架空明线. ...