在Linux上安装Docker并配置镜像加速器:从入门到实战

🔥「炎码工坊」技术弹药已装填!

点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】

引言

Docker作为容器化技术的标杆工具,已经成为现代软件开发和运维的必备技能。对于程序员和技术爱好者来说,在Linux系统上搭建Docker环境是探索云原生、微服务架构的第一步。本文将详解如何在主流Linux发行版(CentOS/Ubuntu)上完成Docker安装、配置国内镜像加速器、验证安装及服务管理的完整流程。


一、安装Docker引擎

1.1 系统要求

  • 支持的系统:CentOS 7+/Ubuntu 16.04+/Debian 9+/Rocky Linux
  • 内核版本:3.10以上
  • 用户权限:需具备sudo权限

1.2 安装依赖包

复制代码
# CentOS/Rocky Linux
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Ubuntu/Debian
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

1.3 添加Docker官方仓库

复制代码
# CentOS/Rocky Linux (使用阿里云镜像加速)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Ubuntu (官方源)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

1.4 安装Docker引擎

复制代码
# CentOS/Rocky Linux
sudo yum install -y docker-ce docker-ce-cli containerd.io

# Ubuntu
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io

替代方案:使用官方一键安装脚本(仅限测试环境)

复制代码
curl -fsSL https://get.docker.com | sudo sh

二、配置国内镜像加速器(关键步骤)

2.1 阿里云镜像加速(需注册账号)

  1. 登录阿里云容器镜像服务[1]

  2. 获取专属加速地址(如https://<your-id>.mirror.aliyuncs.com

  3. 创建配置文件:

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://<your-id>.mirror.aliyuncs.com"]
    }
    EOF

2.2 公共镜像源(中科大/腾讯云)

复制代码
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",  // 中科大
    "https://hub-mirror.c.163.com",       // 网易
    "https://mirror.ccs.tencentyun.com"    // 腾讯云
  ]
}

2.3 重启Docker服务

复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

三、服务管理与开机自启

3.1 启动Docker服务

复制代码
sudo systemctl start docker

3.2 设置开机自启

复制代码
sudo systemctl enable docker

3.3 验证服务状态

复制代码
sudo systemctl status docker
# 预期输出包含 "active (running)"

四、验证安装有效性

4.1 检查版本信息

复制代码
docker --version
# 示例输出: Docker version 27.1.1, build 6312585

4.2 运行测试容器

复制代码
docker run hello-world
# 成功输出 "Hello from Docker!" 标志安装完成

4.3 常用验证命令

功能 命令示例
查看运行容器 docker ps
拉取Nginx镜像 docker pull nginx
运行交互式容器 docker run -it ubuntu bash

五、权限优化:免sudo使用Docker

5.1 将当前用户加入docker组

复制代码
sudo usermod -aG docker $USER
newgrp docker  # 立即生效(或重新登录终端)

安全提示:docker组等价于root权限,生产环境请谨慎授权


六、常见问题排查

6.1 镜像拉取缓慢

  • 确认daemon.json配置正确
  • 切换多镜像源组合(如阿里云+中科大)
  • 使用docker info查看镜像加速器是否生效

6.2 服务启动失败

  • 检查端口冲突(默认2375/2376)
  • 查看日志:journalctl -u docker.service
  • 清理旧配置:sudo rm -rf /etc/docker/daemon.json

结语:进阶学习方向

  1. 容器编排:学习Docker Compose编排多容器应用
  2. 私有镜像仓库:搭建Harbor企业级镜像管理平台
  3. 安全加固:研究Docker Bench安全审计工具
  4. CI/CD集成:结合Jenkins/GitLab CI实现自动化部署

通过本文的完整实践,您已掌握Docker在Linux环境的核心部署能力。下一步建议尝试部署实际应用(如MySQL/Nginx),深入理解容器化技术带来的开发运维范式变革。

引用链接

[1] 阿里云容器镜像服务: https://cr.console.aliyun.com/

🚧 您已阅读完全文99%!缺少1%的关键操作:

加入「炎码燃料仓」

🚀 获得:

√ 开源工具红黑榜 √ 项目落地避坑指南

√ 每周BUG修复进度+1%彩蛋

(温馨提示:本工坊不打灰工,只烧脑洞🔥)

相关推荐
jiang_bluetooth2 分钟前
AIC8800M40低功耗wifi在ARM-LINUX开发板上做OTA的调试经验
linux·arm开发·ota·sdio·aic8800·sdio wifi
添乱2 分钟前
「Linux命令基础」文本模式系统关闭与重启
linux
添乱11 分钟前
「Linux命令基础」Shell命令基础
linux
egoist202311 分钟前
【Linux仓库】命令行参数与环境变量【进程·伍】
linux·运维·服务器·环境变量·命令行参数·内建命令
ζั͡山 ั͡有扶苏 ั͡✾13 分钟前
CentOS/RHEL LVM 磁盘扩展完整教程
linux·运维·centos
kfepiza16 分钟前
NetworkManager配置网桥(bridge)虚拟网络(vlan) 笔记250711
linux·tcp/ip·ubuntu
David爱编程17 分钟前
Deployment vs StatefulSet:怎么选?
后端·云原生·kubernetes
Fireworkitte27 分钟前
Linux 中替换sed
linux·运维·服务器
code喵喵36 分钟前
docker-compose安装常用中间件
docker·中间件·容器
dessler1 小时前
Kafka-日常运维命令
linux·运维·kafka