Linux 一键安装 Docker 及镜像加速配置指南
本指南介绍一个自动化脚本,用于在 Linux 系统上部署 Docker 引擎及其配置国内镜像加速源。该脚本旨在简化 Docker 的安装流程,适用于多种主流 Linux 发行版。
核心功能
- 自动识别 Linux 发行版及版本。
- 智能选择并配置系统的包管理器(如 YUM, APT)。
- 自动检测 Docker 是否已安装,并提供卸载或跳过选项。
- 集成国内主流的 Docker 镜像加速服务。
- 记录详细的安装日志,便于排查问题。
- 提供直观的用户交互体验。
- 安装后自动进行功能验证。
支持的操作系统
- CentOS
- RHEL (Red Hat Enterprise Linux)
- Rocky Linux
- AlmaLinux
- Ubuntu
- Debian
系统前提条件
- 一台运行支持发行版的 Linux 服务器。
- 具有 root 权限或 sudo 执行能力。
- 稳定的互联网连接,以下载安装所需的软件包。
部署流程
1. 获取部署脚本
您可以从以下代码托管平台克隆或下载脚本文件:
- Gitee: docker-install.sh
- GitCode: docker-install.sh
使用 `wget` 或 `curl` 命令下载脚本:
# 使用 wget 下载
wget https://gitee.com/not_that/docker-install/raw/master/docker-install.sh
# 或者使用 curl 下载
curl -O https://gitcode.com/ayaya_mana/docker-install/raw/main/docker-install.sh
2. 授予脚本执行权限
为下载的脚本添加可执行权限:
chmod +x docker-install.sh
3. 执行安装脚本
使用 `sudo` 命令运行脚本来执行 Docker 的安装和配置:
sudo bash docker-install.sh
脚本详解
环境自检
脚本在执行前会收集以下系统信息:
- 操作系统名称及版本号。
- 系统已安装的包管理器(例如 `yum`, `dnf`, `apt-get`)。
- Docker 引擎的安装状态。
- 网络连通性。
Docker 安装过程
- 如果检测到已安装的旧版本 Docker,脚本会尝试将其移除。
- 安装 Docker 运行所需的依赖组件。
- 配置 Docker 的官方软件源,通常会使用国内的镜像源(如阿里云)以加速下载。
- 安装 Docker CE(Community Edition)。
- 启动 Docker 服务,并设置使其在系统启动时自动运行。
镜像加速源配置
脚本会自动配置 /etc/docker/daemon.json 文件,添加以下一个或多个国内镜像加速地址,以提高从 Docker Hub 拉取镜像的速度:
https://docker.m.daocloud.iohttps://dockerproxy.comhttps://docker.mirrors.ustc.edu.cnhttps://docker.nju.edu.cnhttps://mirror.baidubce.com
脚本会根据可用性和配置情况选择合适的加速源。
安装后验证
脚本执行完毕后,会自动进行以下检查:
- 显示已安装的 Docker 版本信息。
- 确认 Docker 服务是否正常运行。
- 执行
docker run --rm hello-world命令,验证 Docker 是否能成功运行一个测试容器。 - 检查镜像加速源的配置是否生效。
常用 Docker 命令
安装完成后,您可以使用以下基本命令来管理 Docker:
# 运行一个容器
docker run [OPTIONS] IMAGE
# 查看正在运行的容器
docker ps
# 列出所有本地镜像
docker images
# 查看指定容器的日志
docker logs CONTAINER_ID
# 停止一个运行中的容器
docker stop CONTAINER_ID
# 删除一个已停止的容器
docker rm CONTAINER_ID
命令示例
以下是一些 Docker 命令的实际应用示例:
# 在后台运行一个 Nginx Web 服务器容器,并将主机的 80 端口映射到容器的 80 端口
docker run -d -p 80:80 nginx
# 交互式地运行一个 Ubuntu 容器,并进入其 bash shell
docker run -it ubuntu bash
# 运行一个 hello-world 测试容器,运行完毕后自动删除
docker run --rm hello-world
日志文件
所有安装过程中的详细信息将被记录在以下文件:
/var/log/docker-install.log
如遇安装问题,请检查此日志文件获取具体错误信息。
故障排除
权限不足
若脚本执行过程中出现权限错误,请确保您使用了 sudo 命令来运行脚本:
sudo bash docker-install.sh
网络连接中断
如果在下载或安装过程中遇到网络问题:
- 请检查您的服务器网络连接是否正常。
- 确认服务器可以访问 Docker Hub 以及配置的镜像加速源。
Docker 服务无法启动
如果 Docker 服务启动失败,可以尝试以下步骤:
- 查阅安装日志:
/var/log/docker-install.log。 - 检查 Docker 服务的当前状态:
systemctl status docker。 - 查看 Docker 服务的系统日志:
journalctl -u docker。
镜像拉取失败
当尝试拉取 Docker 镜像时遇到问题:
- 再次确认网络连接。
- 检查镜像加速源配置是否正确生效,可以通过
docker info | grep -A 5 "Registry Mirrors"命令查看。 - 尝试手动拉取一个常用镜像,例如
docker pull alpine,以排除配置问题。
重要提示
- 本脚本执行需要 root 或 sudo 权限。
- 脚本会自动移除系统中已安装的旧版本 Docker,请谨慎操作。
- 建议在生产环境部署前,先在测试环境中充分验证脚本的功能。
- 如果您的系统已安装 Docker,脚本会提示您选择是否继续安装、跳过或卸载。
- 脚本在配置镜像加速源时,会覆盖
/etc/docker/daemon.json文件中的现有内容。
请注意:本安装脚本会修改系统的软件源配置。为了保证系统的稳定性,建议在全新安装的操作系统上运行此脚本。在生产环境中使用前,务必在独立的测试环境中进行全面验证。