容器管理工具Docker(五):Docker 容器镜像
一、Docker 容器镜像操作
2.1 查看本地容器镜像
2.1.1 使用 docker images 命令查看
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bash latest 5557e073f11c 2 weeks ago 13MB
nginx latest 605c77e624dd 3 weeks ago 141MB
centos latest 5d0da3dc9764 4 months ago 231MB
2.1.2 使用 docker image 命令查看
[root@localhost ~]# docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
bash latest 5557e073f11c 2 weeks ago 13MB
nginx latest 605c77e624dd 3 weeks ago 141MB
centos latest 5d0da3dc9764 4 months ago 231MB
2.1.3 查看 docker 容器镜像(本地)
考虑到docker容器镜像会占用本地存储空间,建议搭建其它存储系统挂载到本地以便解决占用大量本地存储的问题。
[root@localhost ~]# ls /var/lib/docker
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
2.2 搜索 Docker Hub 容器镜像
2.2.1 命令行搜索
[root@localhost ~]# docker search centos
输出
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6987 [OK]
ansible/centos7-ansible Ansible on Centos7 135 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session… 135 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 121 [OK]
2.2.2 Docker Hub Web 界面搜索
网址:Docker Hub Container Image Library | App Containerization
2.3 Docker 容器镜像下载
[root@localhost ~]# docker pull mysql
2.4 Docker 容器镜像删除方法
前提:要删除的容器不在使用中
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
bash latest 5557e073f11c 2 weeks ago 13MB
nginx latest 605c77e624dd 3 weeks ago 141MB
centos latest 5d0da3dc9764 4 months ago 231MB
使用镜像名删除
[root@localhost ~]# docker rmi centos
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59
或者:
使用IMAGE ID 删除
[root@localhost ~]# docker rmi 5d0da3dc9764
二、Docker 容器镜像介绍
2.1 Docker Image
- Docker 镜像是只读的容器模板,是 Docker 容器基础
- 为 Docker 容器提供了静态文件系统运行环境(rootfs)
- 是容器的静止状态
- 容器是镜像的运行状态
2.2 联合文件系统
做了解
2.2.1 联合文件系统定义
- 联合文件系统(union filesystem)
- 联合文件系统是实现联合挂载技术的文件系统
- 联合挂载技术可以实现在一个挂载点同时挂载多个文件系统,将挂载点的原目录与被挂载内容进行整合,使得最终可见的文件系统包含整合之后的各层文件和目录
2.2.2 图解
2.3 Docker Overlay2
做了解
容器文件系统有多种存储驱动实现方式:aufs,devicemapper,overlay,overlay2 等,本次以 overlay2 为例进行说明。
2.3.1 概念
- registry/repository: registry 是 repository 的集合,repository 是镜像的集合。
- image:image 是存储镜像相关的元数据,包括镜像的架构,镜像默认配置信息,镜像的容器配置信息等等。它是“逻辑”上的概念,并无物理上的镜像文件与之对应。
- layer:layer(镜像层) 组成了镜像,单个 layer 可以被多个镜像共享。
2.3.2 查看Docker Host存储驱动方式
[root@localhost ~]# docker info | grep overlay
Storage Driver: overlay2
2.3.3 了解images分层
[root@localhost ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b72514