查看镜像列表
使用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 ~]#