恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Docker 镜像管理与阿里云镜像仓库学习笔记
首页
资讯中心
/
Docker 镜像管理与阿里云镜像仓库学习笔记
Docker 镜像管理与阿里云镜像仓库学习笔记
发布时间:2026/10/14 11:13:38
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 proddocker 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 abc1234562. 创建并进入 Ubuntu 容器docker run -it --name ubuntu-vim ubuntu /bin/bash解释run创建并启动容器-it交互模式可以进入终端--name ubuntu-vim给容器取名字ubuntu使用 ubuntu 镜像/bin/bash进入 bash 终端进入后rootxxxx:/#说明已经进入 Ubuntu 容器。3. 更新软件源Ubuntu 默认没有 vim需要先更新apt update4. 安装 vimapt install vim -y检查vim --version如果出现版本信息VIM - Vi IMproved 9.x说明安装成功。5. 退出容器不要删除容器exit此时容器停止。查看docker ps -a看到CONTAINER ID IMAGE NAME xxxx ubuntu ubuntu-vim6. 使用 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 \ -mubuntu安装vim \ -awxq \ a045c9954d3e \ ubuntu-vim:1.1参数-m提交说明-mubuntu安装vim类似 Gitgit commit -m 说明-a作者-awxq容器ID例如a045c9954d3e来自docker ps -a新镜像注意commit 不要求退出容器。只要容器存在运行中 ✅ 停止状态 ✅ 删除 ❌六、Docker 镜像分层 LayerDocker 镜像不是一个完整文件而是多个层组成。例如镜像 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.12. 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 ↓ 其他机器使用