在已经创建好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. PyQtdeploy-V2.4 User Guide 中文 (一)

    PyQtdeploy 用户指南 目录 介绍 与V1.0+的差异 作者 证书 安装 部署过程概览 PyQt的演示 构建演示 Android IOS Linux MacOS Windos 构建系统根目录 ...

  2. 虹软免费人脸识别SDK注册指南

    成为开发者三步完成账号的基本注册与认证:STEP1:点击注册虹软AI开放平台右上角注册选项,完成注册流程.STEP2:首次使用,登录后进入开发者中心,点击账号管理完成企业或者个人认证,若未进行实名认证 ...

  3. 【English】十、"谓语的地方"看到有两个动词:I go say hello.、非谓语形式

    一.I go say hello. 这是一种偏口语的说法.一个句子中不能同时有两个谓语. 标准的用法有: I go and say hello. and 连接这两个动词,表示并列等关系.go and ...

  4. spring boot整合Hadoop

    最近需要用spring boot + mybatis整合hadoop,其中也有碰到一些坑,记录下来方便后面的人少走些弯路. 背景呢是因为需要在 web 中上传文件到 hdfs ,所以需要在spring ...

  5. 关于ORACLE数据库名以及数据实例名等几个重要概念

    在Oracle中有关数据库和数据库实例的几个重要概念,有时候如果理解不是很深或者对其疏忽.混淆了,还真容易搞错或弄不清其概念,下面就数据库实例名.数据库名.数据库域名.数据库服务名.全局数据库名几个概 ...

  6. python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)

    在写网络爬虫的时候,有时候会抓取到一些json格式的字符串,想要通过python字典的方式对字串中的内容进行寻址,则需要将json字符串先转换为python字典. dumps()函数: loads() ...

  7. Ubuntu 16.04 安装系统监视器System Monitor

    安装好Ubuntu 16.04 之后,如何查看系统进程,CPU等的使用情况呢,System Monitor可以做到, 安装步骤: sudo add-apt-repository ppa:fossfre ...

  8. 10-PI开发手册-ERP发布服务供外围系统调用(RFC类型)

      一.      文档信息 版本号* 更新日期* 姓名* 更新内容及更新理由* 备注* V1.0 2019/02/19 fanjb 文档创建 以福利接口13589(Z00HRJ_GJJ_REV_FI ...

  9. windows配置nginx实现负载均衡集群 -请求分流

    windows配置nginx实现负载均衡集群 一.windows上安装nginx 1.下载nginx的windows版本http://nginx.org/en/download.html 2.把压缩文 ...

  10. Nginx 在线新增模块

    系统:Centos7.5 Nginx版本:1.12.2 今天给项目添加ssl证书时,发现nginx 竟然不支持ssl,经过查看,询问相关人员发现nginx编译的时候没有任何模块(历史原因).哎.... ...