百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Docker-镜像(docker镜像库国内源)

wptr33 2025-07-06 17:18 5 浏览

1、获取镜像

在 Docker 中,获取(下载)镜像通常使用 docker pull 命令:


基本用法:

docker pull 镜像名称[:标签]

例如:

docker pull nginx        # 默认拉取 nginx:latest
docker pull ubuntu:20.04 # 拉取指定版本

常见例子:

  • 拉取最新的 Python 官方镜像:
  • docker pull python
  • 拉取特定版本的 MySQL:
  • docker pull mysql:8.0

指定镜像仓库:

如果你使用的是私有仓库或镜像加速器,比如阿里云、Docker Hub 镜像加速器,也可以指定仓库地址:

docker pull registry.xxxx.com/your_namespace/your_image:tag

注意事项:

  • 如果未指定 :标签,默认是 :latest。
  • 镜像会被下载到本地,存储在 Docker 的本地镜像缓存中(通过 docker images 可查看)。
  • 若拉取失败,可以检查网络或镜像名是否正确。

二、列出镜像

在 Docker 中列出本地已有的镜像,可以使用以下命令:

docker images

或者更完整的形式是:

docker image ls

输出示例:

REPOSITORY          TAG       IMAGE ID       CREATED         SIZE
nginx               latest    4bb46517cac3   2 weeks ago     142MB
ubuntu              20.04     ba6acccedd29   3 weeks ago     72.9MB

常用选项:

  • -a 或 --all:列出所有镜像(包括中间层镜像)。
  • --digests:显示镜像的摘要(digest 值)。
  • --format:自定义输出格式,例如:
docker images --format "{{.Repository}}:{{.Tag}}"

三、删除镜像

在 Docker 中删除镜像可以使用以下命令:


删除镜像的命令:

docker rmi 镜像ID或镜像名

示例:

  1. 根据镜像名删除
  2. docker rmi nginx
  3. 根据镜像 ID 删除(可以通过 docker images 查看 ID):
  4. docker rmi 4bb46517cac3
  5. 同时删除多个镜像
  6. docker rmi nginx ubuntu:20.04

注意事项:

  • 如果某个镜像正被某个容器使用(即使容器已经停止),无法直接删除,会提示错误。
    • 可以先删除容器:
    • docker rm 容器ID
    • 然后再删除镜像。
  • 强制删除(不推荐,除非你确定):
  • docker rmi -f 镜像ID或名称

清理所有无用镜像(dangling images):

docker image prune

或者更彻底的清理(包含未使用的镜像、容器、网络等):

docker system prune

四、利用 commit 理解镜像构成

使用 docker commit 是理解镜像构成和 Docker 镜像本质的一种很直观的方式。我们来一步一步解释并实践通过 docker commit 来理解镜像是如何构成的


一句话理解 Docker 镜像:

Docker 镜像是由一层一层的只读文件系统组成的,每一层都是一次文件系统变更(添加/修改/删除),最终组合成一个完整的系统环境。


docker commit是什么?

docker commit 可以把某个容器的当前状态保存成一个新的镜像。

它的作用类似于你对一个系统做了一些更改(比如安装了软件、改了配置),然后打个快照,保存成新的镜像。


实战:用commit构建镜像,理解其组成

第一步:运行一个容器(交互模式)

docker run -it ubuntu:20.04 bash

你现在就在一个 Ubuntu 容器里面了。

第二步:做一些修改

比如安装 curl:

apt update && apt install -y curl
exit

第三步:提交为新镜像

docker ps -a   # 找到刚才的容器 ID
docker commit <容器ID> my-ubuntu-with-curl

你现在就有了一个新的镜像:my-ubuntu-with-curl

查看它:

docker images

第四步:验证新镜像

docker run -it my-ubuntu-with-curl bash
curl --version   # 你会发现 curl 已经存在

它如何帮助理解镜像构成?

每次你提交镜像,其实就是为原有镜像加了一层新的文件系统(包括你对容器文件系统的更改)。Docker 镜像本质上是一堆只读层 + 一个元数据结构(包括命令历史、父层关系等)。

你可以通过下面命令查看镜像的历史(即各层构成):

docker history my-ubuntu-with-curl

你会看到一系列层,有些是来自原始镜像(ubuntu),有些是你通过 commit 添加的。


延伸:对比Dockerfile和commit

方法

说明

推荐程度

docker commit

类似快照,适合临时保存容器状态

不利于版本管理,不推荐生产使用

Dockerfile

声明式、可重现构建方式

推荐方式


相关推荐

抢先体验Windows 10 20H2新功能,该怎样操作呢?

Win10系统通常会在一年当中进行两次重大更新,分别于上下半年分别推出。上半年的更新主要针对功能的变化,而下半年则是提升系统稳定性。最近Win10下半年最重要的更新Windows1020H2已经开...

教程:如何关闭Win10/Win8.1/Win7管理共享

教程:如何关闭Win10/Win8.1/Win7管理共享出处:IT之家原创(晨风)默认情况下,Windows会创建一些隐藏的共享文件夹,这些文件夹在名称的末尾都有美元“$”标志。当用户在文件资源管理...

Win11学院:如何强制让Windows 11设备蓝屏

IT之家12月15日消息,在Win11系统中蓝屏(BSoD)也称为“停止错误”(StopError)和“错误检查”(BugCheck),通常情况下只有在遇到关键问题的时候才会出现。显然...

微软承认Windows 10新BUG:错误显示没有网络连接

来源:cnBeta.COM在7月补丁星期二活动中,微软发布的累积更新已经修复Windows10系统中的大量BUG。不过近日,微软承认了存在于Windows10May2020(20H...

一课译词:双标(双标英文怎么写)

PhotobyMarkusSpiskeonUnsplash“双标[shuāngbiāo]”,网络流行语,完整说法是“双重标准”,翻译为“doublestandard”。“双标”是指“对同...

知识科普:USB端口如何禁用和解锁?

2015-07-3005:32:00作者:赵为民经常有人会说,我要保护我的笔记本电脑的USB端口,在未经授权的情况下不能够访问。是否有专业的软件可以将USB端口锁死,然后在需要的时候解锁呢?是的,...

小迈科技 X Hologres:高可用的百亿级广告实时数仓建设

通过本文,我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。一、业务介绍...

Modbus-RTU通信(modbus rtu rtu over tcp)

通常情况下我们做Modbus通信的时候,都会先用测试软件进行测试,等通信测试通过之后,我们才会进行移植,我这边主要讲的是移植到PLC上,我现在这边还没有开始做PLC程序,那先把前期的用测试软件如何测...

警惕!利用Github进行水坑攻击安全风险通告

2022年5月19日,亚信安全CERT监测发现Github账户为rkxxz的用户发布了CVE-2022-26809和CVE-2022-24500的项目,项目内容介绍为:CVE-2022-26809...

手机越用越慢?小编教你如何用黑狱冰箱调教它!

看完智趣狗昨天推送的《看完秒懂!这就是Android手机越用越卡的原因!》一文后,我们不难知晓手机越用越慢多是体量更大的APP,以及APP之间相互唤醒而导致资源过度消耗引起的。所以,想让手机恢复高效率...

秒杀系统—3.第二版升级优化的技术文档一

大纲1.秒杀系统的服务细分和服务定位...

Redis命令介绍(二十五)HSET &amp; HSETNX

HSET将上送的键值对保存在key中存储的哈希表中。如果key不存在则创建一个新的哈希表。如果key已存在,则覆盖。在4.0版本后,HSET支持同时上送多键值对。...

IDEA用上这十大插件就很舒服(intellij idea插件推荐)

本文翻译自国外论坛medium,原文地址:https://medium.com/@xjpp22/top-10-plugins-for-intellij-idea-you-dont-want-to-m...

常用 Git 命令清单(git常用命令速查表)
常用 Git 命令清单(git常用命令速查表)

下面是整理的常用Git命令清单。几个专用名词的译名如下。...

2025-07-07 23:38 wptr33

GitHub|清晰理解本地目录、暂存区、本地仓库、远程仓库的交互

GitHub是一个在线平台,旨在促进在一个共同项目上工作的个人之间的代码托管、版本控制和协作。通过该平台,无论何时何地,都可以对项目进行操作(托管和审查代码,管理项目和与世界各地的其他开发者共同开发...