一、配置加速器
1. Docker Hub简介与地址
- 公共镜像仓库: 由Docker公司维护的公共镜像仓库,包含大量容器镜像
- 默认下载源: Docker工具默认从这个公共镜像库下载镜像
- 访问地址: https://hub.docker.com
- 镜像搜索功能: 可通过浏览器访问图形化管理系统,搜索如nginx等官方/非官方镜像
2. 配置镜像加速器的步骤
- 配置文件路径: /etc/docker/daemon.json
- 创建方法: 若文件不存在需手动创建
- 核心配置项: 添加"registry-mirrors"字段(如阿里云镜像加速地址)
- 典型配置示例:
{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] }
3. 加速器配置文件的格式与注意事项
- 格式要求: 必须严格遵循JSON格式规范
- 常见错误: 错一个字符都会导致服务启动失败
- 扩展性: 后续其他配置参数也需添加到此文件中
- 语法检查: 建议使用jq工具验证JSON格式有效性
4. 重启Docker以应用加速器配置
- 重启命令: systemctl restart docker
- 必要性: 修改配置后必须重启服务才能生效
- 服务状态检查: 可通过systemctl status docker确认服务状态
5. 验证加速器配置是否成功
- 验证命令: 使用docker info查看配置信息
- 预期结果: 在输出信息中能看到配置的镜像加速器地址
- 效果验证: 执行docker pull或docker run时能明显提升下载速度
- 网络问题解决: 特别适用于访问国外镜像仓库超时的情况
二、常用管理命令
1. Docker镜像管理
- Docker Hub:由Docker公司维护的公共镜像仓库,包含大量容器镜像,默认从此下载镜像
- 镜像加速器配置:修改/etc/docker/daemon.json文件,添加{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]}后重启docker服务
- 常用命令:
- ls:列出本地镜像
- build:从Dockerfile构建镜像
- history:查看镜像构建历史
- inspect:显示镜像详细信息
- pull:从仓库拉取镜像
- push:推送镜像到仓库
- rm:删除镜像
- prune:清理未使用的镜像
- tag:创建镜像标签
- save:将镜像保存为tar文件
- load:从tar文件加载镜像
2. Docker命令结构
- 新旧命令对比:
- 旧版:直接使用docker run等命令
- 新版:使用docker container run等管理命令
- 区别:新版对命令进行了分类管理,旧版命令仍然保留
- 使用建议:两种方式功能相同,可根据习惯选择
3. 镜像操作演示
- 镜像查找:
- docker image ls查看本地镜像
- 本地没有的镜像会自动从Docker Hub下载
- 镜像历史:
- docker history可查看镜像构建步骤
- 每步对应Dockerfile中的一条指令
- 镜像导出导入:
- docker save -o redis.tar redis导出镜像
- docker load -i redis.tar导入镜像
- 适用于离线环境部署
4. 镜像是什么
- 分层存储:由多个文件层组成,采用UFS联合文件系统技术
- 软件环境:包含完整的软件运行环境(如Nginx、Redis等)
- 标准化交付:一个镜像可创建多个容器实例
- 精简系统:不包含Linux内核的精简操作系统
- 端口映射:通过-p 8080:80将容器端口映射到主机
- 服务访问:通过宿主机IP+映射端口访问容器服务
- 快速部署:镜像可快速创建标准化服务环境
5. 镜像管理技巧
- 空间管理:
- docker image prune清理悬挂镜像
- 加-a参数清理所有未使用的镜像
- 镜像传输:
- 通过save/load在离线环境迁移镜像
- 解决内网服务器无法联网拉取镜像的问题
三、知识小结
知识点 | 核心内容 | 考试重点/易混淆点 | 难度系数 |
Docker加速器配置 | 配置国内镜像加速器解决网络访问问题,修改/etc/docker/daemon.json文件并重启Docker服务 | JSON格式校验(格式错误会导致服务启动失败) | ⭐⭐ |
Docker镜像管理 | 镜像分层存储原理、docker image ls/pull/push/rm命令操作 | 镜像与容器的关联性(docker prune清理未使用的镜像) | ⭐⭐⭐ |
镜像导入导出 | docker save/load实现离线环境镜像迁移,演示从能上网机器导出到内网机器导入 | 归档包非压缩格式(直接解压查看分层文件结构) | ⭐⭐⭐ |
容器启动与端口映射 | docker run -d -p启动容器并暴露端口(如Nginx访问宿主机IP:8080) | 端口冲突排查(多次启动同一端口导致失败) | ⭐⭐ |
Docker命令体系 | 新旧命令对比(如docker run vs docker container run),管理命令分类逻辑 | 命令兼容性(旧版命令仍可用但推荐新版) | ⭐ |
联合文件系统(UFS) | 镜像分层存储技术,通过docker history查看构建步骤 | 层复用机制(相同层仅下载/存储一次) | ⭐⭐⭐⭐ |
镜像构建原理 | 通过Dockerfile定义镜像构建步骤,docker build执行构建 | 层缓存优化(修改步骤后后续层需重建) | ⭐⭐⭐⭐ |