当前位置:首页 > 技术 > 正文内容

Linux 一键安装 Docker 及镜像加速配置指南

访客 技术 2026年7月25日 1

本指南介绍一个自动化脚本,用于在 Linux 系统上部署 Docker 引擎及其配置国内镜像加速源。该脚本旨在简化 Docker 的安装流程,适用于多种主流 Linux 发行版。

核心功能

  • 自动识别 Linux 发行版及版本。
  • 智能选择并配置系统的包管理器(如 YUM, APT)。
  • 自动检测 Docker 是否已安装,并提供卸载或跳过选项。
  • 集成国内主流的 Docker 镜像加速服务。
  • 记录详细的安装日志,便于排查问题。
  • 提供直观的用户交互体验。
  • 安装后自动进行功能验证。

支持的操作系统

  • CentOS
  • RHEL (Red Hat Enterprise Linux)
  • Rocky Linux
  • AlmaLinux
  • Ubuntu
  • Debian

系统前提条件

  • 一台运行支持发行版的 Linux 服务器。
  • 具有 root 权限或 sudo 执行能力。
  • 稳定的互联网连接,以下载安装所需的软件包。

部署流程

1. 获取部署脚本

您可以从以下代码托管平台克隆或下载脚本文件:

使用 `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 安装过程

  1. 如果检测到已安装的旧版本 Docker,脚本会尝试将其移除。
  2. 安装 Docker 运行所需的依赖组件。
  3. 配置 Docker 的官方软件源,通常会使用国内的镜像源(如阿里云)以加速下载。
  4. 安装 Docker CE(Community Edition)。
  5. 启动 Docker 服务,并设置使其在系统启动时自动运行。

镜像加速源配置

脚本会自动配置 /etc/docker/daemon.json 文件,添加以下一个或多个国内镜像加速地址,以提高从 Docker Hub 拉取镜像的速度:

  • https://docker.m.daocloud.io
  • https://dockerproxy.com
  • https://docker.mirrors.ustc.edu.cn
  • https://docker.nju.edu.cn
  • https://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 文件中的现有内容。

请注意:本安装脚本会修改系统的软件源配置。为了保证系统的稳定性,建议在全新安装的操作系统上运行此脚本。在生产环境中使用前,务必在独立的测试环境中进行全面验证。

返回列表

上一篇:生产环境Node.js集群部署完整指南

没有最新的文章了...

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。