
1. Docker Engine 简介与准备工作Docker Engine 是 Docker 的核心组件负责容器的创建、运行和管理。它就像一台虚拟化的发动机让开发者能够将应用及其依赖打包成标准化单元。在开始安装前我们需要做好以下准备工作系统要求检查CentOS 7/8内核版本需 ≥ 3.10Ubuntu推荐 20.04 LTS 或更高版本EulerOS基于 openEuler 的华为云定制系统验证内核版本命令uname -r清理旧版本如果存在# 通用清理命令适配不同系统 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine || \ sudo apt remove docker docker-engine docker.io containerd runc我曾在实际项目中遇到过因旧版本残留导致的冲突问题特别是当系统之前安装过非官方源 Docker 时。建议执行完卸载命令后手动检查/var/lib/docker/目录是否已清空。2. CentOS 7 安装 Docker Engine2.1 配置国内镜像源国内用户推荐使用阿里云镜像加速sudo yum install -y yum-utils sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo避坑提示如果遇到 GPG 密钥报错可临时关闭验证sudo yum-config-manager --save --setoptdocker-ce-stable.gpgcheck02.2 安装 Docker CE执行安装命令sudo yum makecache fast sudo yum install -y docker-ce docker-ce-cli containerd.io版本锁定技巧生产环境建议固定版本号sudo yum install docker-ce-20.10.12 docker-ce-cli-20.10.122.3 验证安装启动服务并测试sudo systemctl start docker sudo docker run hello-world我曾遇到 SELinux 导致容器无法启动的情况解决方案sudo setenforce 0 sudo sed -i s/^SELINUXenforcing/SELINUXpermissive/ /etc/selinux/config3. Ubuntu 20.04 安装 Docker Engine3.1 配置APT源设置阿里云镜像源sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository deb [archamd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable3.2 安装Docker推荐安装特定版本sudo apt update sudo apt install -y docker-ce5:20.10.12~3-0~ubuntu-focal docker-ce-cli5:20.10.12~3-0~ubuntu-focal实用技巧避免自动升级sudo apt-mark hold docker-ce docker-ce-cli3.3 非root用户配置将当前用户加入docker组sudo usermod -aG docker $USER newgrp docker # 立即生效4. Huawei Cloud EulerOS 安装指南4.1 配置华为云源cd /etc/yum.repos.d/ sudo wget https://repo.huaweicloud.com/repository/conf/openeuler_x86_64.repo -O /etc/yum.repos.d/openEuler.repo sudo yum makecache4.2 安装Dockersudo yum install -y docker华为云特有问题如果遇到依赖冲突可尝试sudo yum install --nobest -y docker4.3 配置镜像加速创建配置文件sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://your-accelerator.mirror.aliyuncs.com], exec-opts: [native.cgroupdriversystemd] } EOF sudo systemctl restart docker5. 通用配置与优化5.1 镜像加速配置各系统通用的镜像加速方案sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json -EOF { registry-mirrors: [ https://hub-mirror.c.163.com, https://mirror.baidubce.com ], log-driver: json-file, log-opts: { max-size: 100m } } EOF sudo systemctl daemon-reload sudo systemctl restart docker5.2 磁盘空间管理防止Docker占用过多空间# 查看磁盘使用 docker system df # 定期清理 docker system prune -af生产环境建议修改默认存储位置sudo systemctl stop docker sudo rsync -aP /var/lib/docker /new/location sudo mv /var/lib/docker /var/lib/docker.bak sudo ln -s /new/location/docker /var/lib/docker sudo systemctl start docker6. 验证与故障排查6.1 基础验证运行测试容器docker run --rm -it alpine sh -c echo Hello from Alpine检查组件版本docker --version docker-compose --version containerd --version6.2 常见问题解决问题1端口冲突netstat -tulnp | grep 端口号问题2存储驱动异常检查当前驱动docker info | grep Storage Driver问题3网络不通测试容器网络docker run --rm busybox ping -c 4 baidu.com7. 安全加固建议7.1 基础安全配置禁用API公开访问sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/override.conf -EOF [Service] ExecStart ExecStart/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375 --containerd/run/containerd/containerd.sock EOF sudo systemctl daemon-reload7.2 用户权限控制创建专用docker管理用户sudo useradd -m -G docker docker-admin sudo passwd docker-admin审计建议定期检查docker组用户getent group docker