zoukankan      html  css  js  c++  java
  • <Docker学习>3. docker镜像命令使用

      镜像提供容器运行时所需要的程序,资源、配置文件等,是一个特殊的文件系统。是容器运行的基础。镜像是多层文件系统组成的,是一个分层存储的架构,在镜像的构建中,会一层层的构建,每一层构建完成就不会发生改变,后一层的改变只会在自己这一层发生改变。删除前一层的文件操作,实际上不会删除前一层的文件,而是仅仅在该层将文件标记为删除,实际上还存储在前一层。因此在镜像的构建过程中,只尽量的添加该层需要的文件,任何和该层无关的文件要清理。
     
    镜像使用命令:
    (1)镜像拉取
    docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
    docker镜像仓库地址,地址格式<域名/IP>:端口号,默认地址是 Docker Hub
    仓库名称:<用户名>/<软件名> ,对于docker hub,没给出用户名。默认是library,即官方镜像
    docker pull ubuntu:16.04

    (2)运行镜像

    运行镜像,是以一个镜像为基础启动一个容器。

    docker run  [选项[Docker Registry 地址[:端口号]/]仓库名[:标签]

    docker run -it --rm ubuntu:16.04
    -i 交互式操作
    -t 伪终端
    -rm 容器退出时立即删除,默认是不删除
     
    (3)列出镜像
    docker image ls

       虚悬镜像:是一种特殊的镜像,没有仓库名,没有标签,均为<none> ,这种镜像是因为镜像维护,新旧镜像同名的话,旧镜像名会被取消,这类无标签的镜像就是虚悬镜像(dangling image)。

    列出虚悬镜像命令:docker image ls -f dangling=true

    这种镜像是没有意义的,可以随意删除。删除命令:docker image prune

      中间层镜像:为了加速镜像构建、 重复利用资源, Docker 会利用 中间层镜像。 所以在使用一段时间后,可能会看到一些依赖的中间层镜像。默认docker image ls 列表中只会显示顶层镜像, 如果希望显示包括中间层镜像在内的所有镜像的话, 需要加 -a 参数。

    命令 : docker image ls -a

    (4)删除本地镜像
    docker image rm [选项] [镜像ID/镜像名称/镜像摘要]
    docker image rm nginx:v2
    docker 镜像的删除有 untagged 和 delete 行为
    首先是会按照要求取消镜像的tag,但是如果一个镜像有多个标签tag,如果只是删除了指定的标签,镜像还有其他标签,那么不会发生删除delete行为,只是取消了标签。当镜像所有的标签都取消了,才会触发删除行为。因为镜像是多层存储结构,再删除的时候,会从最上层向底层依次进行判断删除,当其他镜像依赖于该镜像的某一层,依旧不会触发删除行为。所以可能会看到删除的层数和docker pull时的层数不一样。
     
    容器的运行时建立在镜像基础之上的,如果某个镜像的容器还存在,即使没有运行,该镜像也不能删除。
    删除一个还有容器的镜像会报类似这样的错:Error response from daemon: conflict: unable to remove repository reference "nginx:v2" (must force) - container aa59eab5cc29 is using its referenced image 97d1bffd8e7f
     
     
  • 相关阅读:
    Android中的进程
    简单解析三种JAVA调用方式-同步,异步,回调
    Android BroadCastReceiver介绍
    Android 消息处理机制-Looper,Handler,MessageQueue
    Android onPause 和onSaveInstanceState
    Android finish后没有执行 onDestory()
    自定义Linearlayout
    python学习笔记一
    笔试题目汇总
    互联网_http协议
  • 原文地址:https://www.cnblogs.com/xiaojianfeng/p/9378658.html
Copyright © 2011-2022 走看看