☰
Docker 镜像管理与阿里云镜像仓库学习笔记
2026/10/14 11:13:37 网站建设 项目流程

Docker 镜像管理与阿里云镜像仓库学习笔记

一、Docker 镜像基础

1. 镜像(Image)

镜像是:

创建 Docker 容器的模板。

例如:

ubuntu:22.04 mysql:latest redis:latest

查看本地镜像:

docker images

输出:

IMAGE IMAGE ID SIZE

二、容器与镜像关系

关系:

镜像 Image | | docker run ↓ 容器 Container

镜像是模板,容器是运行实例。

例如:

docker run ubuntu:22.04

根据 ubuntu 镜像创建容器。


三、docker images 命令

查看镜像:

docker images

示例:

ubuntu-vim:1.1 383db0ca522c 337MB

字段解释:

字段含义
IMAGE镜像名称
TAG版本标签
IMAGE ID镜像唯一编号
DISK USAGE本地磁盘占用
CONTENT SIZE镜像内容大小

四、镜像标签 Tag

镜像格式:

镜像名:标签

例如:

ubuntu-vim:1.1

其中:

ubuntu-vim → 镜像名称 1.1 → tag版本

tag 可以自己定义

例如:

ubuntu-vim:v1 ubuntu-vim:test ubuntu-vim:prod

常见:

v1 v2 1.0.0 dev test prod

docker tag

作用:

给镜像添加新的名字。

格式:

docker tag 原镜像 新镜像名称

例如:

docker tag ubuntu-vim:1.1 test:v1

注意:

docker tag 不会复制镜像。

例如:

ubuntu-vim:1.1 | | ↓ IMAGE ID 383db0ca522c test:v1 | | ↓ IMAGE ID 383db0ca522c

两个名字指向同一个镜像。


五、docker commit 创建镜像

这个流程本质是基于 Ubuntu 镜像创建一个容器 → 在容器里安装软件 → 保存成新的镜像。

完整命令如下:

1. 拉取 Ubuntu 镜像

docker pull ubuntu

查看镜像:

docker images

例如:

REPOSITORY TAG IMAGE ID ubuntu latest abc123456

2. 创建并进入 Ubuntu 容器

docker run -it --name ubuntu-vim ubuntu /bin/bash

解释:

  • run:创建并启动容器
  • -it:交互模式,可以进入终端
  • --name ubuntu-vim:给容器取名字
  • ubuntu:使用 ubuntu 镜像
  • /bin/bash:进入 bash 终端

进入后:

root@xxxx:/#

说明已经进入 Ubuntu 容器。


3. 更新软件源

Ubuntu 默认没有 vim,需要先更新:

apt update

4. 安装 vim

apt install vim -y

检查:

vim --version

如果出现版本信息:

VIM - Vi IMproved 9.x

说明安装成功。


5. 退出容器

不要删除容器:

exit

此时容器停止。

查看:

docker ps -a

看到:

CONTAINER ID IMAGE NAME xxxx ubuntu ubuntu-vim

6. 使用 docker commit 保存新镜像

格式:

docker commit 原容器名 新镜像名:版本

例如:

docker commit ubuntu-vim ubuntu-vim:1.0

意思:

把:

ubuntu-vim容器 + 安装好的vim ↓ 保存成 ubuntu-vim:1.0镜像

7. 查看新的镜像

docker images

结果:

REPOSITORY TAG ubuntu latest ubuntu-vim 1.0

现在你有两个镜像:

ubuntu | | 创建容器 | | ubuntu-vim容器 | 安装vim | | docker commit | ↓ ubuntu-vim:1.0镜像

8. 用新镜像启动测试

删除旧容器(可选):

docker rm ubuntu-vim

用新镜像创建容器:

docker run -it --name test-vim ubuntu-vim:1.0 /bin/bash

进入后:

vim test.txt

发现 vim 已经存在。


命令格式

docker commit [参数] 容器ID 新镜像名:标签

例如:

docker commit \ -m="ubuntu安装vim" \ -a="wxq" \ a045c9954d3e \ ubuntu-vim:1.1

参数:

-m

提交说明:

-m="ubuntu安装vim"

类似 Git:

git commit -m "说明"

-a

作者:

-a="wxq"

容器ID

例如:

a045c9954d3e

来自:

docker ps -a

新镜像

注意:

commit 不要求退出容器。

只要容器存在:

运行中 ✅ 停止状态 ✅ 删除 ❌

六、Docker 镜像分层 Layer

Docker 镜像不是一个完整文件,而是多个层组成。

例如:

镜像 Layer3 安装vim Layer2 Ubuntu环境 Layer1 基础系统

特点:

  • 只读
  • 可复用
  • 节省空间

查看镜像历史:

docker history 镜像名

七、阿里云 Container Registry

为什么需要镜像仓库?

本地镜像:

自己电脑

无法方便给别人使用。

通过镜像仓库:

本地镜像 ↓ push 阿里云仓库 ↓ pull 其他服务器

八、登录阿里云镜像仓库

命令:

docker login 仓库地址

例如:

docker login \ crpi-xxxx.cn-beijing.personal.cr.aliyuncs.com

输入密码。

成功:

Login Succeeded

注意:

教程中的:

$ docker login

其中$是终端提示符。

不要输入:

$ docker login

应该输入:

docker login

九、推送镜像到阿里云

完整流程:

本地镜像 ↓ docker tag ↓ 阿里云格式镜像 ↓ docker push ↓ 阿里云仓库

1. docker tag

阿里云镜像格式:

仓库地址/命名空间/镜像名:标签

例如:

crpi-xxx.aliyuncs.com/wxq2026/ubuntu-vim:1.1

执行:

docker tag ubuntu-vim:1.1 \ crpi-xxx.aliyuncs.com/wxq2026/ubuntu-vim:1.1

2. docker push

上传:

docker push \ crpi-xxx.aliyuncs.com/wxq2026/ubuntu-vim:1.1

成功后:

阿里云仓库出现:

ubuntu-vim 版本: 1.1

十、从阿里云拉取镜像

命令:

docker pull 镜像地址

例如:

docker pull \ crpi-xxx.aliyuncs.com/wxq2026/ubuntu-vim:1.1

成功:

Digest: sha256:xxxx Status: Image is up to date

十一、完整镜像发布流程

创建容器 ↓ 修改容器 ↓ docker commit ↓ 生成镜像 ↓ docker login ↓ docker tag ↓ docker push ↓ 阿里云镜像仓库 ↓ docker pull ↓ 其他机器使用

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询