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 ~]#

原文地址:https://www.cnblogs.com/leslie003/p/11452756.html