• docker学习3-镜像的基本使用


    查看镜像列表

    使用docker images查看本地已经下载的镜像

    • REPOSITORY:表示镜像的仓库源
    • TAG:镜像的标签,区分不同版本
    • IMAGE ID:镜像ID,16进制组成,唯一标识
    • CREATED:镜像创建时间
    • SIZE:镜像大小

    [root@bogon ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    centos/python-36-centos7 latest b8d15efaa8ec 5 months ago 651MB
    training/webapp latest 6fae60ef3446 4 years ago 349MB
    [root@bogon ~]#

    我们本地下载的镜像文件是从仓库下载过来的,每个镜像在仓库源都有个名称,也就是 REPOSITORY,同一个镜像源可以有不同的版本,同标签(TAG)区分

    下载镜像

    直接使用 docker pull centos 默认是下载的最新的latest版本

    docker pull centos

    [root@bogon ~]# docker pull centos
    Using default tag: latest
    latest: Pulling from library/centos
    d8d02d457314: Pull complete 
    Digest: sha256:307835c385f656ec2e2fec602cf093224173c51119bbebd602c53c3653a3d6eb
    Status: Downloaded newer image for centos:latest
    docker.io/library/centos:latest
    [root@bogon ~]# docker images
    REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
    centos                     latest              67fa590cfc1c        13 days ago         202MB
    centos/python-36-centos7   latest              b8d15efaa8ec        5 months ago        651MB
    training/webapp            latest              6fae60ef3446        4 years ago         349MB
    [root@bogon ~]# 
    

      

    搜索镜像

    docker search搜索相关的镜像文件

    Search the Docker Hub for images
    [root@bogon ~]# docker search centos
    NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    centos The official build of CentOS. 5535 [OK]
    ansible/centos7-ansible Ansible on Centos7 122 [OK]
    jdeathe/centos-ssh CentOS-6 6.10 x86_64 / CentOS-7 7.6.1810 x86… 111 [OK]
    consol/centos-xfce-vnc Centos container with "headless" VNC session… 99 [OK]
    centos/mysql-57-centos7 MySQL 5.7 SQL database server 62
    imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 57 [OK]
    tutum/centos Simple CentOS docker image with SSH access 45
    centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 39
    kinogmt/centos-ssh CentOS with SSH

    果我想下载一个centos7.5的镜像版本,该如何找到呢?

    查找TAG版本

    如果要找到指定的TAG版本,需打开docker官网https://hub.docker.com/search/?type=image,搜索框输入:centos搜索。
    点击详情,找到TAGS,就可以看到不同的标签版本了

    接下来指定TAG名称下载,后面加个冒号:标签名称

    docker pull centos:centos7.5.1804

    更新镜像

    上面下载的TAG名称是centos7.5.1804,这个太长了不太好记,可以改成一个自己喜欢的TAG名称,比如7.5

    更新镜像需先启动容器

    docker run -d centos:centos

      

     [root@bogon ~]# docker ps -a

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    b5b7128dfc3d centos "/bin/bash" 8 seconds ago Exited (0) 7 seconds ago youthful_blackwell
    a4473d7b0f6d training/webapp "python app.py" About an hour ago Up 24 minutes 0.0.0.0:5000->5000/tcp exciting_vaughan
    [root@bogon ~]#

    启动之后,查看到容器id号b5b7128dfc3d ,根据容器id,去修改

    • -m:提交的描述信息
    • -a:指定镜像作者
    • e218edb10161:容器ID
    • runoob/ubuntu:v2:指定要创建的目标镜像名

    docker commit -m="update tag name" -a="yoyo" b5b7128dfc3d centos:7.5

    [root@bogon ~]# docker commit -m="update tag name" -a="leslie" b5b7128dfc3d  centos:7.5
    sha256:a7b3006aa7118586800936d9a4c08b34fbd3a7b443b1649cd541f7cbe59469e2
    [root@bogon ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS                    NAMES
    b5b7128dfc3d        centos              "/bin/bash"         4 minutes ago       Exited (0) 4 minutes ago                            youthful_blackwell
    a4473d7b0f6d        training/webapp     "python app.py"     About an hour ago   Up 28 minutes              0.0.0.0:5000->5000/tcp   exciting_vaughan
    

      

    设置镜像TAG

    如果只是修改镜像TAG名称,可以用docker tag给镜像取个新的tag名称, 这里的id是镜像的id

    docker tag 254d4dfe9df7 centos:v7.5

    [root@bogon ~]# docker tag a7b3006aa711 centos:v7.5
    [root@bogon ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    centos 7.5 a7b3006aa711 2 hours ago 202MB
    centos v7.5 a7b3006aa711 2 hours ago 202MB
    centos/python-36-centos7 latest b8d15efaa8ec 5 months ago 651MB
    training/webapp

    这时候会多了一个v7.5的标签

    删除镜像

    上面多了个7.5的TAG,并且IMAGE ID是重复的,可以使用docker rmi 删掉它,可以加-f参数强制删除

    • -f :强制删除;
    • --no-prune :不移除该镜像的过程镜像,默认移除;

    [root@bogon ~]# docker rmi centos:v7.5
    Untagged: centos:v7.5
    [root@bogon ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    centos 7.5 a7b3006aa711 2 hours ago 202MB
    centos/python-36-centos7 latest b8d15efaa8ec 5 months ago 651MB
    training/webapp latest 6fae60ef3446 4 years ago 349MB
    [root@bogon ~]#

  • 相关阅读:
    NOIP 转圈游戏
    NOIP 2012 同余方程
    BZOJ3864 Hero meet devil
    HDU3045 Picnic Cows
    「PKUWC2018」随机算法
    CF543E Listening to Music
    CF833E Caramel Clouds
    「PKUWC2018」Slay the Spire
    Luogu2183【国家集训队】礼物
    CF932E Team Work
  • 原文地址:https://www.cnblogs.com/leslie003/p/11452756.html
Copyright © 2020-2023  润新知