服务器Docker安装教程

一、Docker安装

1.安装Docker所需的依赖包

基于RPM包管理的Linux系统(如CentOS、RHEL等)上安装Docker所需的依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2
  1. yum install -y

    • 使用yum包管理器安装软件包。
    • -y选项表示自动回答“yes”,跳过确认提示。
  2. 安装的依赖包

    • yum-utils
      提供Yum的扩展工具(例如yum-config-manager),后续用于管理Docker的软件仓库。
    • device-mapper-persistent-data
      提供设备映射(Device Mapper)的持久化存储支持,是Docker存储驱动(devicemapper)的依赖。
    • lvm2
      LVM(Logical Volume Manager)工具,Docker使用它管理存储卷和快照。

背景说明
1条命令通常是安装Docker前的准备工作,目的是确保系统具备以下能力:

  1. 添加Docker官方仓库(通过yum-config-manager工具)。
  2. 支持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-manageryum-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-driverlog-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 - Community
     Version:           20.10.12
     ...
    
    Server: Docker Engine - Community
     Engine:
      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

完整流程总结

  1. 配置镜像加速:解决国内拉取 Docker 镜像慢的问题。
  2. 限制日志大小:防止容器日志占满磁盘。
  3. 重启服务:应用配置变更。
  4. 版本验证:确认安装正确。
  5. 开机自启:保证 Docker 服务持久化。

常见问题

  1. 镜像加速不生效

    • 检查 daemon.json 格式是否正确(必须是合法的 JSON,无注释)。
    • 运行 docker info | grep Mirrors 确认镜像源是否被加载。
    • 某些镜像源可能需要 HTTPS(如阿里云),确保地址正确。
  2. 日志配置无效

    • 已存在的容器需重建才能应用新日志配置。
    • 使用 docker inspect <容器ID> | grep LogConfig 检查容器日志驱动。
  3. docker version 仅显示 Client 信息

    • Server 部分未显示可能表示 Docker 服务未正常运行,尝试 systemctl status docker 排查。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值