• Docker镜像


    一、获取镜像

    拉取:docker name:tag

    D:docker_test>docker pull ubuntu:18.04
    18.04: Pulling from library/ubuntu
    284055322776: Pull complete
    Digest: sha256:0fedbd5bd9fb72089c7bbca476949e10593cebed9b1fb9edf5b79dbbacddd7d6
    Status: Downloaded newer image for ubuntu:18.04
    docker.io/library/ubuntu:18.04

    如果不指定tag,则默认会选择latest镜像,这会下载仓库中最新的镜像。

    D:docker_test>docker pull ubuntu
    Using default tag: latest
    latest: Pulling from library/ubuntu
    7b1a6ab2e44d: Pull complete
    Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
    Status: Downloaded newer image for ubuntu:latest
    docker.io/library/ubuntu:latest

    默认是从官方仓库拉取镜像,如果是从非官方仓库下载,则需要仓库名称前指定完整的仓库地址

    docker pull hub.c.163.com/public/ubuntu:18.04

    二、查看镜像信息

    1.列出镜像

    D:docker_test>docker images
    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    ubuntu       latest    ba6acccedd29   2 weeks ago   72.8MB
    ubuntu       18.04     5a214d77f5d7   4 weeks ago   63.1MB

    2.使用tag命令添加镜像标签

    D:docker_test>docker tag ubuntu:latest myubuntu:latest
    
    D:docker_test>docker images
    REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
    myubuntu     latest    ba6acccedd29   2 weeks ago   72.8MB
    ubuntu       latest    ba6acccedd29   2 weeks ago   72.8MB
    ubuntu       18.04     5a214d77f5d7   4 weeks ago   63.1MB

    添加的镜像ID和原镜像ID一致,实际上只是对原镜像起了个别名

    3.使用inspect命令查看详细信息

    D:docker_test>docker inspect ubuntu:18.04

    4.使用history命令查看镜像历史

    D:docker_test>docker history ubuntu:18.04
    IMAGE          CREATED       CREATED BY                                      SIZE      COMMENT
    5a214d77f5d7   4 weeks ago   /bin/sh -c #(nop)  CMD ["bash"]                 0B
    <missing>      4 weeks ago   /bin/sh -c #(nop) ADD file:0d82cd095966e8ee7…   63.1MB

    三、搜索镜像

    D:docker_test>docker search ubuntu

    四、删除和清理镜像

    1.使用标签删除镜像

    D:docker_test>docker rmi myubuntu:latest
    Untagged: myubuntu:latest

    D:docker_test>docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    ubuntu latest ba6acccedd29 2 weeks ago 72.8MB
    ubuntu 18.04 5a214d77f5d7 4 weeks ago 63.1MB

    -f:强制删除镜像,即使有容器依赖它。

    D:docker_test>docker rmi ubuntu:18.04 -f

    当同一个镜像拥有多个标签时,rmi镜像只会删除该镜像多个标签中的指定标签而已,并不影响镜像文件。

    2.使用镜像ID删除镜像

    D:docker_test>docker rmi ba6acccedd29
    Untagged: ubuntu:latest
    Untagged: ubuntu@sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
    Deleted: sha256:ba6acccedd2923aee4c2acc6a23780b14ed4b8a5fa4e14e252a23b846df9b6c1
    Deleted: sha256:9f54eef412758095c8079ac465d494a2872e02e90bf1fb5f12a1641c0d1bb78b

    3.清理镜像

    使用docker一段时间后,系统会遗留一些临时文件,以及一些没有使用的镜像。可以使用docker image prune命令来进行清理。

    D:docker_test>docker image prune
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N] y
    Total reclaimed space: 0B

    -a:删除所有无用镜像,不只是临时镜像

    -f:强制删除镜像,而不进行确认提示

    五、创建镜像

    创建镜像有三种方法:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建。

    1.基于已有容器创建

    命令:docker [container] commit

    参数:-a:作者信息

       -c:提交时候的Dockerfile指令

       -m:提交信息

       -p:提交时暂停容器执行

    D:docker_test>docker run -it ubuntu:18.04 /bin/bash
    root@a9e56393e5ed:/# ls
    bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
    boot  etc  lib   media  opt  root  sbin  sys  usr
    root@a9e56393e5ed:/# touch
    touch: missing file operand
    Try 'touch --help' for more information.
    root@a9e56393e5ed:/# touch test
    root@a9e56393e5ed:/# exit
    exit
    
    D:docker_test>docker commit -m "Added a new file" -a "Docker Newbee"  a9e56393e5ed test:0.1
    sha256:483e7efc81d482fd28f252044dab884da3c94c491f68a589d7c499e96f177b7c
    
    D:docker_test>docker images
    REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
    test         0.1       483e7efc81d4   15 seconds ago   63.1MB
    ubuntu       18.04     5a214d77f5d7   4 weeks ago      63.1MB

    2.基于本地模板导入

    docker import - ubuntu:18.04

    3.基于Dockerfile创建

    六、导出和导入镜像

    1.导出镜像

    D:docker_test>docker save -o ubuntu_18.04.tar ubuntu:18.04

     2.导入镜像

    D:docker_test>docker load -i ubuntu_18.04.tar
    D:docker_test>docker load < ubuntu_18.04.tar

    七、上传镜像

    D:docker_test>docker push test:0.1
  • 相关阅读:
    JAVA Oauth 认证服务器的搭建
    ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别
    Java OAuth开发包资料
    hOAuth2.0认证和授权原理
    Spring+Quartz实现定时任务的配置方法
    cron表达式详解(Spring定时任务配置时间间隔)
    spring定时任务的配置使用
    [spring-framework]Spring定时器的配置和使用
    net.sf.json在处理json对象转换为普通java实体对象时的问题和解决方案
    大数据和拉普拉斯妖
  • 原文地址:https://www.cnblogs.com/shier-dong/p/15486945.html
Copyright © 2020-2023  润新知