当前位置: 首页 > news >正文

服务器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
  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 - 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

完整流程总结

  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 排查。

http://www.dtcms.com/a/319973.html

相关文章:

  • openGauss3.10企业版单机部署(openEuler20.03 SP3)
  • 嵌入式学习硬件(一)ARM体系架构
  • 【数字图像处理系列笔记】Ch05:傅里叶变换与频率域滤波
  • 哈勃网络计划大规模升级卫星以创建全球蓝牙层
  • AI代码审查大文档处理技术实践
  • mysql如何实现备份某个数据库并还原备份
  • RHCA - CL260 | Day04:对象存储、存储池、用户认证
  • Mysql自定义顺序查询
  • 预约时间组件
  • 能源材料顶刊AEM:钛酸锂“双模储能”设计范式——兼得高能量与高功率密度
  • 智慧能源设备巡检准确率↑32%:陌讯多模态融合算法实战解析
  • Redis模块-RedisJson
  • Q-Learning详解:从理论到实践的全面解析
  • 数据合规——解读跨境电商隐私合规白皮书(2024)【附全文阅读】
  • React(三):脚手架、组件化、生命周期、父子组件通信、插槽、Context
  • AR技术:制造业质量控制的“智能革新”
  • 第五十三篇:LLaMA.cpp的“量化秘籍”:Q4_K_M、Q5_K_S深度解析
  • Numpy科学计算与数据分析:Numpy数组索引与切片入门
  • Linux学习记录 DNS
  • “认知裂缝边缘”地带
  • 河南萌新联赛2025第(四)场:河南大学
  • Taro 扩展 API 深度解析与实战指南
  • 考研复习-计算机组成原理-第三章-存储系统
  • 广州工艺品摆件三维扫描逆向建模抄数设计-中科米堆CASAIM
  • [三数之和]
  • [安卓按键精灵开发工具]本地数据库的初步学习
  • Day116 若依融合mqtt
  • Minio 分布式集群安装配置
  • 28 HTB Forest 机器 - 容易 (1)
  • (附源码)基于Web的物流信息管理系统