容器管理工具Docker(五):Docker 容器镜像

本文详细介绍了Docker容器镜像的操作,包括查看、搜索、下载和删除。同时,深入探讨了Docker镜像的内部结构,如联合文件系统、Overlay2存储驱动,以及容器与镜像的关系。内容涵盖镜像分层、镜像元数据存储位置和容器内的文件系统结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、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

image-20220124162022990

image-20220124162116338

image-20220124162200273

image-20220124162312918

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 图解

image-20220125080435098

2.3 Docker Overlay2

做了解

容器文件系统有多种存储驱动实现方式:aufs,devicemapper,overlay,overlay2 等,本次以 overlay2 为例进行说明。

2.3.1 概念

  • registry/repository: registry 是 repository 的集合,repository 是镜像的集合。
  • image:image 是存储镜像相关的元数据,包括镜像的架构,镜像默认配置信息,镜像的容器配置信息等等。它是“逻辑”上的概念,并无物理上的镜像文件与之对应。
  • layer:layer(镜像层) 组成了镜像,单个 layer 可以被多个镜像共享。

image-20230404204405048

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巧克力配酸奶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值