第3章:镜像

目录

获取镜像:docker pull NAME[:TAG] 

查看镜像信息: sudo docker images 

搜索镜像:docker search

 删除镜像:docker rmi

使用镜像的标签删除镜像

使用镜像ID删除标签:

创建镜像

存出和载入镜像:

 上传镜像:


扫描二维码关注公众号,回复: 5880313 查看本文章

Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub 公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。

获取镜像:docker pull NAME[:TAG] 

  • 使用命令: docker pull NAME[:TAG]  如果不显示的指定 TAG,则会默认选择 latest 标签,即现在仓库中最新版本的镜像。
  •  下面演示了获取一个最新的 ufoym/deepo 镜像,由于没有指定标签,所以默认下载最新的镜像 ufoym/deepo:latest。下载过程中可以看出,镜像文件一般有若干层组成,行首的 898c46f3b1a1 这样的字符串代表了各层的ID。下载过程中会获取并输出镜像的各层信息。层(layer)其实是AUFS(Advanced Union File System,一种联合文件系统)中的重要概念,是实现增量保存与更新的基础。
图1
  • 比如下载指定版本的Ubuntu系统镜像文件,(14.04标签的镜像)
    1. sudo docker pull ubuntu:14.04      
  • 下载镜像到本地后,即可随时使用该镜像了。例如,利用该镜像创建一个容器,在其中运行 bash 应用。

     如下图所示 

    1.  sudo nvidia-docker run -it ufoym/deepo bash
    2. -i:表示运行容器
      -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
      –name :为创建的容器命名。
      -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
      -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
      -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

查看镜像信息: sudo docker images 

  • sudo docker images    列出本地主机上已有的镜像。

搜索镜像:docker search

 删除镜像:docker rmi

  • 使用镜像的标签删除镜像

例如删除 标签为 8.0-devel 的 nvidia/cuda 镜像,但是标签为 latest 的nvidia/cuda 的镜像则还在,这个删除命令只会删除指定标签的镜像文件。

  • 使用镜像ID删除标签:

 

创建镜像

方法有三种:

  1. 基于已有镜像的容器创建,
  2. 基于本地模板导入
  3. 基于dockerfile创建。(这种方法后续补充)

存出和载入镜像:

 上传镜像:

猜你喜欢

转载自blog.csdn.net/wchzh2015/article/details/89034868