网站首页 > 技术文章 正文
镜像是 docker 的重要概念,它是轻量级的、可执行的独立软件包,包含了运行某个软件所需的所有内容。
本文主要介绍 docker 镜像的获取、查询、删除等管理操作。
获取镜像命令 docker pull
在 docker 容器运行前需要在本地存在对应的镜像,如果不存在,则会尝试从镜像仓库中下载,默认的仓库为 Docker Hub,用户也可以通过配置使用第三方镜像库。
docker pull 命令用于从 Docker 镜像仓库中拉取(下载)镜像。
命令格式:
docker pull <image_name>[:<tag>]
镜像 latest 标签表示拉取最新版本,可在生产环境中指定标签信息,以下载稳定版本的镜像
命令示例:
# 拉取最新版本的Ubuntu镜像
docker pull ubuntu
# 拉取Ubuntu 22.04版本的镜像
docker pull ubuntu:22.04
在这个例子中,docker pull ubuntu 命令用于从Docker Hub上拉取官方最新版本的Ubuntu镜像。
查看镜像命令 docker images
docker images 命令用于列出本地系统中已经下载的所有 Docker 镜像,同时显示镜像的仓库地址、标签、镜像ID、创建时间以及镜像的大小等信息。
# 查看镜像
docker images
# 可能返回以下内容
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 174c8c134b2a 2 weeks ago 77.9MB
nginx latest d453dd892d93 2 months ago 187MB
示例运行 docker images 命令显示了本地系统中已经下载的镜像。在这个列表中,有两个Docker镜像:ubuntu和nginx,这两个镜像都使用了最新版本(latest标签)。
查看镜像详情命令 docker inspect
docker inspect 命令用于查看Docker对象的详情信息,可以返回Docker镜像、容器、网络、卷等内容。
命令格式:
docker inspect <image_name>[:<tag>]
命令示例:
# 返回镜像的详细信息,包括制作者、适应的架构、各层的数字摘要等。
docker inspect ubuntu:latest
查看镜像历史命令 docker history
docker history 命令用于查看指定镜像的创建历史。它显示了镜像的各个提交记录,包括镜像的创建时间和提交信息。
命令格式:
docker history <image_name>[:<tag>]
命令示例:
# 查看官方的Ubuntu镜像的历史记录
docker history ubuntu:latest
# 可能返回以下内容
IMAGE CREATED CREATED BY SIZE COMMENT
174c8c134b2a 2 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ADD file:2b3b5254f38a790d4… 77.9MB
<missing> 2 weeks ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B
<missing> 2 weeks ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ARG RELEASE 0B
Docker镜像是由多个层组成的,每一层都是一个只读的镜像,并且每一层都叠加在上一层之上。每一层都有自己的ID、创建时间、创建者、大小和注释等信息。
镜像查询命令 docker search
docker search 命令用于在Docker Hub上查找镜像。
命令格式:
docker search [OPTIONS] 镜像名称或关键字
命令示例:
# 返回与"nginx"相关的镜像信息
docker search nginx
# 输入关键字“ngi”返回相关内容
docker search ng
# 可能返回以下内容
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 19424 [OK]
unit Official build of NGINX Unit: Universal Web … 20 [OK]
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 140
nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo… 87
nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGIN… 33
nginxinc/nginx-s3-gateway Authenticating and caching gateway based on … 3
ngrok/ngrok docker image for ngrok agent 40
nginx/nginx-ingress-operator NGINX Ingress Operator for NGINX and NGINX P… 2
nginx/unit This repository is retired, use the Docker o… 64
删除镜像命令 docker rmi
docker rmi 命令用于删除一个或多个 Docker 镜像,
命令格式及示例:
# 删除单个镜像
docker rmi <IMAGE_ID或REPOSITORY:TAG>
# 通过名称删除镜像
docker rmi nginx:latest
# 通过ID删除镜像
docker rmi ee7cbd482336
# 删除多个镜像
docker rmi <IMAGE1> <IMAGE2> ...
可以一次删除多个镜像,只需在命令中列出ID或名称。
docker rmi 命令还支持一些可选参数
删除镜像是不可逆的操作,请谨慎处理并做好必要的备份。
清理镜像命令 docker image prune
docker image prune 命令用于清理系统中临时或无用的镜像文件。默认情况下只会清理未被标记且未被其他任何镜像引用的镜像。
清理镜像是不可逆的操作,请谨慎处理并做好必要的备份。
猜你喜欢
- 2024-09-29 Docker实战007:docker仓库使用详解
- 2024-09-29 Docker 简介(docker-it)
- 2024-09-29 Docker Hub 遭入侵,19 万帐号被泄露
- 2024-09-29 K8S系列学习之DockerHub自有镜像库搭建和使用
- 2024-09-29 终于有人把Docker讲清楚了,Docker入门教程,原来这么简单...
- 2024-09-29 Docker从入门到精通:Docker pull命令学习
- 2024-09-29 DockerDockerfile深度解析(dockerfile sh)
- 2024-09-29 Docker架构最全详解(图文全面总结)
- 2024-09-29 docker的镜像和仓库(常用docker镜像仓库)
- 2024-09-29 DockerHub 镜像仓库的使用(docker hub 镜像站点)
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 530℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 495℃MySQL service启动脚本浅析(r12笔记第59天)
- 474℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 471℃启用MySQL查询缓存(mysql8.0查询缓存)
- 452℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 431℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 428℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)