服务器Docker安装教程
文章目录
- 一、Docker安装
- 1.安装Docker所需的依赖包
- 2.设置镜像仓库
- 1. 设置 Docker CE 的阿里云镜像仓库
- 2. 生成 Yum 缓存(可选但推荐)
- 3. 安装最新版 Docker CE
- 3.配置 Docker 镜像源和日志选项
- 4.重新加载 systemd 配置文件
- 5.重启 Docker 服务
- 6.验证 Docker 版本
- 7.设置 Docker 开机自启
- 完整流程总结
- 常见问题
一、Docker安装
1.安装Docker所需的依赖包
基于RPM包管理的Linux系统(如CentOS、RHEL等)上安装Docker所需的依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
-
yum install -y
- 使用
yum
包管理器安装软件包。 -y
选项表示自动回答“yes”,跳过确认提示。
- 使用
-
安装的依赖包:
yum-utils
提供Yum的扩展工具(例如yum-config-manager
),后续用于管理Docker的软件仓库。device-mapper-persistent-data
提供设备映射(Device Mapper)的持久化存储支持,是Docker存储驱动(devicemapper)的依赖。lvm2
LVM(Logical Volume Manager)工具,Docker使用它管理存储卷和快照。
背景说明:
1条命令通常是安装Docker前的准备工作,目的是确保系统具备以下能力:
- 添加Docker官方仓库(通过
yum-config-manager
工具)。 - 支持Docker的存储驱动(如
devicemapper
,依赖LVM和Device Mapper)。
2.设置镜像仓库
设置 Docker CE 的阿里云镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
这条命令的作用是 配置 Docker 的镜像仓库(使用阿里云镜像源)并安装最新版 Docker CE,具体步骤如下:
1. 设置 Docker CE 的阿里云镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 作用:
将阿里云的 Docker CE 镜像仓库添加到系统的 Yum 软件源列表中(替代 Docker 官方源,提升国内下载速度)。 - 关键点:
yum-config-manager
是yum-utils
提供的工具(上一步已安装)。--add-repo
指定要添加的仓库地址(这里是阿里云的 CentOS 版 Docker CE 仓库)。- 注意:URL 中的
centos
需根据实际系统版本替换(如 Fedora 需改为fedora
)。
2. 生成 Yum 缓存(可选但推荐)
yum makecache
- 作用:
更新 Yum 的本地元数据缓存,确保能快速获取最新软件包列表。 - 为什么需要:
添加新仓库后,建议刷新缓存以避免安装时找不到包。
3. 安装最新版 Docker CE
yum install docker-ce
- 作用:
从配置好的阿里云仓库安装 Docker Community Edition(社区版)。 - 细节:
docker-ce
是 Docker 的免费社区版(区别于企业版docker-ee
)。- 默认安装最新稳定版,如需指定版本可追加版本号(如
docker-ce-20.10.12
)。
这些步骤是在 配置 Docker 的镜像加速、日志管理,并完成 Docker 服务的启动和设置。下面逐步解析:
3.配置 Docker 镜像源和日志选项
mkdir -p /etc/docker
- 作用:创建
/etc/docker
目录(如果不存在),用于存放 Docker 的配置文件。
# 编辑 /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.m.daocloud.io", "http://hub-mirror.c.163.com"],"log-driver": "json-file","log-opts": {"max-size": "20m", "max-file": "1"}
}
- 作用:配置 Docker 的镜像加速和日志管理:
registry-mirrors
设置国内镜像加速源(提升拉取镜像的速度):https://registry.docker-cn.com
(Docker 中国官方镜像)http://hub-mirror.c.163.com
(网易镜像)- 其他可选源(如阿里云镜像需登录控制台获取专属地址)。
log-driver
和log-opts
限制 Docker 容器日志大小,避免日志文件占用过多磁盘空间:json-file
:日志以 JSON 格式存储。max-size="20m"
:单个日志文件最大 20MB。max-file="1"
:只保留 1 个日志文件(滚动覆盖)。
systemctl restart docker.service
- 作用:重启 Docker 服务使配置生效。
4.重新加载 systemd 配置文件
systemctl daemon-reload
- 作用:
当修改了 systemd 服务配置(如 Docker 的service
文件)时,需要重新加载配置。此步骤在 仅修改daemon.json
时通常可省略,但习惯性执行也无害。
5.重启 Docker 服务
systemctl restart docker
- 作用:
确保 Docker 完全应用最新配置(尤其是daemon.json
的改动)。
6.验证 Docker 版本
docker version
- 作用:
检查 Docker 客户端(Client)和服务端(Server/Engine)的版本信息,确认安装成功。
预期输出:显示类似以下内容(版本号可能不同):Client: Docker Engine - CommunityVersion: 20.10.12...Server: Docker Engine - CommunityEngine:Version: 20.10.12...
7.设置 Docker 开机自启
systemctl enable docker
- 作用:
将 Docker 服务添加到系统启动项,确保服务器重启后 Docker 自动运行。
预期输出:
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service
完整流程总结
- 配置镜像加速:解决国内拉取 Docker 镜像慢的问题。
- 限制日志大小:防止容器日志占满磁盘。
- 重启服务:应用配置变更。
- 版本验证:确认安装正确。
- 开机自启:保证 Docker 服务持久化。
常见问题
-
镜像加速不生效
- 检查
daemon.json
格式是否正确(必须是合法的 JSON,无注释)。 - 运行
docker info | grep Mirrors
确认镜像源是否被加载。 - 某些镜像源可能需要 HTTPS(如阿里云),确保地址正确。
- 检查
-
日志配置无效
- 已存在的容器需重建才能应用新日志配置。
- 使用
docker inspect <容器ID> | grep LogConfig
检查容器日志驱动。
-
docker version
仅显示 Client 信息- Server 部分未显示可能表示 Docker 服务未正常运行,尝试
systemctl status docker
排查。
- Server 部分未显示可能表示 Docker 服务未正常运行,尝试