☰
Linux系统重装后Docker安装与配置全指南
2026/11/4 12:27:50 网站建设 项目流程

1. 系统重装后的基础环境准备

刚完成Linux系统重装时,就像拿到一台刚出厂的新设备。我通常会先做三件事:更新系统、安装基础工具、配置SSH访问。这些看似与Docker无关的操作,实际上能避免后续很多奇怪的问题。

以Ubuntu 22.04为例,终端里依次执行:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget git vim net-tools

注意:不同Linux发行版的包管理命令不同。如果是CentOS/RHEL系,需要将apt换成yum或dnf

2. Docker安装的三种标准姿势

2.1 官方推荐安装方式

Docker官方文档永远是最权威的参考。他们的安装脚本会处理所有依赖关系:

curl -fsSL https://get.docker.com | sudo sh

这个命令背后其实做了以下几件事:

  1. 添加Docker的官方GPG密钥
  2. 设置稳定的软件仓库
  3. 安装最新版Docker引擎
  4. 创建docker用户组

2.2 包管理器直接安装

对于追求稳定性的生产环境,我更喜欢用系统自带的包管理器:

sudo apt install -y docker.io

这种方式安装的版本可能不是最新的,但经过发行版厂商的充分测试。我曾经在Ubuntu 20.04上遇到过官方最新版Docker与系统内核的兼容性问题,用系统仓库版本就完全正常。

2.3 二进制手动安装

当需要在没有root权限的环境部署时,可以下载静态二进制包:

VERSION=24.0.7 curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-${VERSION}.tgz | tar -xz mv docker/* /usr/bin/

这种方式适合特殊环境,但需要自行处理依赖和更新。

3. 安装后的关键配置

3.1 用户组与权限管理

刚安装完Docker时,普通用户运行docker命令会报权限错误。解决方法不是盲目使用sudo,而是将用户加入docker组:

sudo usermod -aG docker $USER newgrp docker # 立即生效

重要安全提示:docker组实际上具有root等效权限,生产环境中需要严格控制组成员

3.2 镜像加速配置

国内访问Docker Hub速度堪忧,修改/etc/docker/daemon.json配置国内镜像源:

{ "registry-mirrors": [ "https://registry.cn-hangzhou.aliyuncs.com", "https://hub-mirror.c.163.com" ] }

配置完成后需要重启服务:

sudo systemctl restart docker

4. 验证安装的正确姿势

很多人用docker run hello-world就结束了验证,这远远不够。我建议的完整验证流程:

  1. 基础功能测试
docker --version docker info
  1. 网络连通性测试
docker pull alpine docker run --rm alpine ping -c 4 www.baidu.com
  1. 存储卷测试
docker run --rm -v $(pwd):/data alpine ls /data

5. 常见问题排错指南

5.1 内核兼容性问题

如果遇到类似"Your kernel does not support cgroup..."的错误,可能是内核版本过旧。解决方案:

# 查看内核版本 uname -r # 对于较旧的内核需要升级或安装额外模块 sudo apt install linux-image-extra-virtual

5.2 存储驱动问题

特别是重装系统后,可能会遇到存储驱动不匹配:

# 查看当前存储驱动 docker info | grep Storage # 修改驱动类型 sudo vim /etc/docker/daemon.json

添加内容:

{ "storage-driver": "overlay2" }

5.3 防火墙干扰

Firewall和iptables规则可能导致容器网络异常:

# 临时关闭防火墙排查 sudo systemctl stop firewalld # 或添加防火墙规则 sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0

6. 生产环境优化建议

6.1 日志轮转配置

默认情况下Docker容器日志会无限增长,需要修改daemon.json:

{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }

6.2 存储路径修改

系统盘空间不足时,可以迁移Docker根目录:

sudo systemctl stop docker sudo rsync -avz /var/lib/docker /new/path/ sudo vim /etc/docker/daemon.json

添加:

{ "data-root": "/new/path/docker" }

6.3 内存与CPU限制

对于资源紧张的环境,可以在启动时添加限制:

docker run -it --memory="1g" --cpus="1.5" ubuntu

7. 进阶工具链配置

7.1 Docker Compose安装

虽然现在Docker Desktop自带compose,但服务器环境还是需要单独安装:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

7.2 容器监控方案

推荐使用cAdvisor+Prometheus+Grafana组合:

docker run -d \ --name=cadvisor \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --publish=8080:8080 \ google/cadvisor:latest

8. 安全加固措施

8.1 启用用户命名空间

在/etc/docker/daemon.json中添加:

{ "userns-remap": "default" }

8.2 禁用特权容器

docker run --security-opt=no-new-privileges ubuntu

8.3 定期漏洞扫描

docker scan ubuntu

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询