docker.镜像管理

第二节.docker镜像管理

  • 介绍
    • docker镜像是一个不包含Linux内核的操作系统
    • [root@data docker]# docker image ls
    • REPOSITORY TAG IMAGE ID CREATED SIZE
    • nginx latest 8c9ca4d17702 2 days ago 109MB
    • 镜像由docker公司的公共镜像仓库下载
    • 镜像与容器的联系
      • 通过docker history <id/name>查看镜像中各层的内容及大小,每层对应着dockerfile中的一个指令,docker镜像默认存储在/var/lib/dockerk/<storage-driver>中
      • 容器其实就是在镜像的最上面加了一层读写层,在运行容器里做的任何修改,都会写到这个读写层。如果容器删除了,最上面的读写层数据也就丢失了。docker使用存储驱动管理镜像每层内容及可读写的容器层
    • 存储驱动
      • Ubuntu
        • aufs devicemapper overlay2 overlay zfs vfs
      • Debian
        • aufs devicemapper overlay2 vfs overlay
      • centos(6)
        • devicemapper vfs overlay(7)
      • fedora
        • devicemapper overlay2 overlay vfs
      • overlay overlay2 – ext4,xfs
      • aufs -ext4,xfs
      • devicemapper – direct-lvm
      • btrfs -btrfs
      • zfs -zfs
  • docker镜像管理常用的命令
    • ls列出镜像
      • 使用实例
        • [root@data docker]# docker image ls
        • REPOSITORY TAG IMAGE ID CREATED SIZE
        • nginx latest 8c9ca4d17702 2 days ago 109MB
    • build构建镜像(来自dockerfile)
    • history查看镜像历史(执行了那些步骤)
      • 使用实例
        • [root@data docker]# docker image history nginx:latest
        • IMAGE CREATED CREATED BY SIZE COMMENT
        • 8c9ca4d17702 2 days ago /bin/sh -c #(nop) CMD [“nginx” “-g” “daemon… 0B
        • <missing> 2 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
        • <missing> 2 days ago /bin/sh -c #(nop) EXPOSE 80 0B
        • <missing> 2 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx… 22B
        • <missing> 2 days ago /bin/sh -c set -x && apt-get update && apt… 54MB
        • <missing> 2 days ago /bin/sh -c #(nop) ENV NJS_VERSION=1.15.9.0.… 0B
        • <missing> 2 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.15.9-… 0B
        • <missing> 3 weeks ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
        • <missing> 3 weeks ago /bin/sh -c #(nop) CMD [“bash”] 0B
        • <missing> 3 weeks ago /bin/sh -c #(nop) ADD file:5a6d066ba71fb0a47… 55.3MB
    • inspect显示一个或多个镜像详细信息
      • 使用实例
        • [root@data docker]# docker image inspect nginx:latest
        • [
        • {
        • “Id”: “sha256:8c9ca4d17702c354fa41432be278d8ce6c0761b1302608034fa3ad49c6da43f9”,
        • “RepoTags”: [
        • “nginx:latest”
        • ],
        • “RepoDigests”: [
        • “nginx@sha256:18c0755594af107923baa2e65fcef35aea4ab0cea7862d19c27aa127bacb458e”
        • ],
        • 。。。。。。。
    • pull从镜像仓库拉取镜像
      • 实例
        • [root@data docker]# docker pull nginx:1.11 —-<name:version>
        • Using default tag: latest
        • latest: Pulling from library/nginx
        • Digest: sha256:18c0755594af107923baa2e65fcef35aea4ab0cea7862d19c27aa127bacb458e
        • Status: Image is up to date for nginx:latest
        • [root@data docker]# docker image pull nginx
        • Using default tag: latest
        • latest: Pulling from library/nginx
        • Digest: sha256:18c0755594af107923baa2e65fcef35aea4ab0cea7862d19c27aa127bacb458e
        • Status: Image is up to date for nginx:latest
    • push推送一个镜像到仓库(需要登录)
    • rm删除镜像
      • 实例
        • [root@data docker]# docker image rm httpd:latest
        • Untagged: httpd:latest
        • Untagged: httpd@sha256:5e7992fcdaa214d5e88c4dfde274befe60d5d5b232717862856012bf5ce31086
        • Deleted: sha256:d3a13ec4a0f1157fb3502ec1248f2b1e7dbeeb6a2e21e0c1d3f43b7a494221ed
        • Deleted: sha256:ffda16bd6375fb3b126592485a714e2ff95575600128c4ef2d34207573284206
        • Deleted: sha256:61d9f00c32aab3132c865ccf069bfeead749a949df6f96f6e3bb800eef193c46
        • Deleted: sha256:c8a247f5bfa5b62fc08f2f18df0e6a4873e0a3eceb15abb906092eecaa84d9fc
        • Deleted: sha256:04eb6e2a1ea13cc4832d2b15e7ba5295b0fbf5c9f9f40e0a27fd0be1c7b3a1c7
    • prune移除未使用的镜像。没有被标记或被任何容器引用的
    • tag创建一个引用镜像标记目标镜像
      • 实例
        • [root@data docker]# docker image tag nginx:latest nginx:1.15
        • [root@data docker]# docker images
        • REPOSITORY TAG IMAGE ID CREATED SIZE
        • nginx 1.15 8c9ca4d17702 2 days ago 109MB
        • nginx latest 8c9ca4d17702 2 days ago 109MB
    • save保存一个或多个镜像到一个tar归档文件
      • 实例
        • docker image save nginx:1.15 > /tmp/nginx15.tar
    • load加载镜像来自tar归档或标准输入
      • 实例
        • docker image load < /tmp/nginx15.tar
    原文作者:小短腿电工
    原文地址: https://www.jianshu.com/p/24cbda5f4052
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞