Docker 镜像相关的基本操作

一、Docker 镜像基本操作

1. 查找镜像

命令:

bash 复制代码
docker search <镜像名称>

示例:查找 CentOS 镜像:

bash 复制代码
docker search centos

命令解释:

  • 默认从 Docker Hub 官方仓库上搜索镜像。
  • 搜索结果包含多个列:
    • NAME:镜像名称。
    • DESCRIPTION:镜像的描述信息。
    • STARS:受欢迎程度(星标数量)。
    • OFFICIAL :是否为官方镜像(OK 表示官方镜像)。
    • AUTOMATED:是否为自动构建的镜像。

注意:

  • 优先选择官方镜像 (OFFICIAL 列中标记为 OK),因为它们由官方团队维护,更加安全可靠。
  • 非官方镜像可能存在安全隐患,例如后门、病毒等,需谨慎使用。
2. 拉取镜像

命令:

bash 复制代码
docker pull <镜像名称>

示例:拉取最新版本的 CentOS 镜像:

bash 复制代码
docker pull centos

命令解释:

  • 如果未指定版本标签,默认使用 latest 标签,拉取最新版本的镜像。
  • 可以通过指定版本标签拉取特定版本的镜像:
bash 复制代码
docker pull centos:7

输出结果:

  • 拉取时会显示下载进度。
  • 从官方仓库拉取的镜像路径通常类似:
bash 复制代码
docker.io/library/centos:latest
  • docker.io:Docker Hub 的域名。
  • library:官方镜像库的前缀。

优化:

如果拉取速度较慢,可以配置镜像加速器(如阿里云、腾讯云等)。

3. 列出本地镜像

命令:

bash 复制代码
docker images

输出内容:

  • REPOSITORY:镜像所属仓库。
  • TAG:镜像的版本标签。
  • IMAGE ID:镜像的唯一标识符。
  • CREATED:镜像创建的时间。
  • SIZE:镜像的大小。
4. 删除镜像

命令:

bash 复制代码
docker rmi <镜像名称或IMAGE ID>

示例:删除 CentOS 的最新版本镜像:

bash 复制代码
docker rmi centos:latest

强制删除:

如果镜像被容器引用,可以使用 -f 参数强制删除:

bash 复制代码
docker rmi -f <镜像名称或IMAGE ID>
5. 保存镜像为离线包

命令:

bash 复制代码
docker save -o <文件名.tar.gz> <镜像名称:标签>

示例:将 CentOS 镜像保存为压缩包:

bash 复制代码
docker save -o centos.tar.gz centos:latest

作用:

可以将镜像作为文件传输到其他机器,尤其适用于无法直接访问 Docker Hub 的环境。

6. 加载离线镜像

命令:

bash 复制代码
docker load -i <文件名.tar.gz>

示例:加载之前保存的 CentOS 镜像:

bash 复制代码
docker load -i centos.tar.gz

注意:

不要使用传统的解压工具(如 tar)解压镜像文件,因为这是 Docker 特殊封装的格式。

7. 镜像的安全性
  • 优先选择官方镜像:
    • 在 docker search 的结果中,确保 OFFICIAL 列标记为 OK。
  • 避免使用未知来源的镜像:
    • 非官方镜像可能存在安全风险,比如植入木马或恶意代码。
    • 使用官方镜像作为基础镜像构建自己的服务。

二、镜像操作的实际案例

案例一:拉取镜像并查看本地镜像

1.拉取 CentOS 最新版本镜像:

bash 复制代码
docker pull centos

2.查看本地镜像:

bash 复制代码
docker images

输出结果类似:

bash 复制代码
REPOSITORY          TAG       IMAGE ID       CREATED         SIZE
centos              latest    5d0da3dc9764   7 months ago    209MB
案例二:保存镜像并在其他主机加载

**1.**保存镜像为压缩包:

bash 复制代码
docker save -o centos.tar.gz centos:latest

2.将压缩包传输到目标主机(通过 SCP、FTP 等方式)。

3.在目标主机加载镜像:

bash 复制代码
docker load -i centos.tar.gz

4.查看加载的镜像:

bash 复制代码
docker images
案例三:删除镜像

1.删除 CentOS 镜像:

bash 复制代码
docker rmi centos:latest

2.强制删除被容器引用的镜像:

bash 复制代码
docker rmi -f centos:latest

总结

1.镜像操作的核心命令:

  • 查找镜像:docker search
  • 拉取镜像:docker pull
  • 查看本地镜像:docker images
  • 删除镜像:docker rmi
  • 保存镜像为压缩包:docker save
  • 加载镜像:docker load

2.最佳实践:

  • 优先使用官方镜像,保证安全和可靠性。
  • 配置镜像加速器(如阿里云)以提高拉取速度。
  • 使用离线保存和加载功能,在无法访问外部网络时传递镜像。
相关推荐
闪亮的路灯3 小时前
Linux 安装mqtt服务mosquitto
linux·运维·服务器
szxinmai主板定制专家5 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
叼烟扛炮6 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
Decay__7 小时前
09_MySQL 闪回与时间点恢复 —— binlog 回放、mysqlbinlog、PITR 与误删恢复
运维·数据库·sql·mysql·架构
久曲健的测试窝7 小时前
2026软件测试工具选型指南:双模式如何化解UI脚本维护难题
运维·人工智能·科技·aigc
DarkAthena7 小时前
wslc ps 卡死的排查:一次「停容器不停 VM」引发的连环故障
docker
NailiConveyor8 小时前
柔性物流方案如何适配工厂升级?自动化输送流水线定制要点
大数据·运维·自动化·制造·业界资讯
小沈同学呀8 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
Lsetea9 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
如若1239 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透