1. 环境准备:为什么选择Docker?
Docker作为轻量级容器化技术的代表,已经成为现代应用开发和部署的事实标准。相比传统虚拟机,它通过共享主机操作系统内核的方式,实现了秒级启动和近乎零开销的资源占用。我在2016年第一次接触Docker时,就被它"一次构建,处处运行"的特性所震撼——当时我们团队正在为不同Linux发行版之间的兼容性问题头疼不已。
典型的使用场景包括:
- 开发环境标准化(避免"在我机器上能跑"的问题)
- 微服务架构部署(每个服务独立容器化)
- CI/CD流水线构建(确保测试与生产环境一致)
- 快速搭建复杂应用栈(如LAMP/MEAN等)
注意:虽然Docker支持Windows/macOS,但生产环境建议使用Linux主机。本文以Ubuntu 22.04 LTS为例,其他Linux发行版需调整部分命令。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心安装流程详解
2.1 卸载旧版本(如有)
很多安装问题源于新旧版本冲突。执行以下命令彻底清理旧版本:
bash复制sudo apt-get remove docker docker-engine docker.io containerd runc
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
2.2 设置APT仓库
Docker官方推荐通过仓库安装而非直接下载deb包,便于后续升级:
bash复制# 安装依赖工具
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
# 添加GPG密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 设置稳定版仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.3 安装Docker引擎
更新仓库并安装最新版本:
bash复制sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
验证安装是否成功:
bash复制sudo docker run hello-world
如果看到"Hello from Docker!"的欢迎信息,说明基础环境已就绪。
3. 关键配置优化
3.1 非root用户操作配置
默认情况下,Docker需要sudo权限。将当前用户加入docker组可免去sudo:
bash复制sudo usermod -aG docker $USER
newgrp docker # 立即生效无需注销
警告:docker组用户等同于root权限,仅限可信用户加入。生产环境建议结合RBAC策略。
3.2 存储驱动选择
查看当前驱动:
bash复制docker info | grep "Storage Driver"
推荐配置(根据文件系统选择):
| 文件系统 | 推荐驱动 | 配置方法 |
|---|---|---|
| ext4/xfs | overlay2 | 默认无需调整 |
| btrfs | btrfs | 编辑/etc/docker/daemon.json |
| zfs | zfs | 需安装zfs插件 |
3.3 日志与数据管理
防止容器日志占用全部磁盘:
bash复制# 创建或修改/etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/mnt/docker-data" # 修改默认存储位置
}
重启服务生效:
bash复制sudo systemctl restart docker
4. 必备工具链安装
4.1 Docker Compose
虽然已安装插件版,但独立版在某些场景仍有必要:
bash复制sudo apt-get install d
