Linux系统下Docker部署全攻略:从安装到容器管理
2025.09.19 10:59浏览量:0简介:本文详细介绍在Linux系统上部署Docker的全流程,涵盖环境准备、安装步骤、配置优化及容器管理,帮助开发者快速掌握Docker技术。
如何在Linux系统上部署Docker:完整指南
一、环境准备:选择适合的Linux发行版
在部署Docker前,首先需要确认系统环境是否满足要求。Docker官方推荐使用较新的Linux内核版本(建议4.x及以上),并支持主流发行版如Ubuntu、CentOS、Debian等。对于生产环境,建议选择LTS(长期支持)版本以获得更好的稳定性。
- Ubuntu/Debian系列:适合开发环境,软件包更新频繁
- CentOS/RHEL系列:适合企业生产环境,稳定性高
- Fedora/Arch:适合尝鲜最新技术
以Ubuntu 22.04 LTS为例,其预装内核5.15版本,完全满足Docker运行要求。
二、安装Docker:官方仓库与便捷脚本
方法一:通过官方仓库安装(推荐)
这是最规范的安装方式,可确保获得最新稳定版本:
# 1. 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. 安装依赖包
sudo apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# 3. 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 4. 设置稳定版仓库
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
# 5. 安装Docker引擎
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 6. 验证安装
sudo docker run hello-world
方法二:使用便捷脚本(快速测试)
对于快速测试环境,可以使用Docker提供的便捷脚本:
curl -fsSL https://get.docker.com | sh
注意:此方法会直接从网络获取安装脚本,生产环境建议使用方法一以确保安全性。
三、配置优化:提升安全与性能
1. 用户组配置
默认情况下,Docker需要root权限运行。为提升安全性,建议将普通用户加入docker组:
sudo usermod -aG docker $USER
newgrp docker # 立即生效
2. 存储驱动选择
Docker支持多种存储驱动,不同驱动适用于不同场景:
- overlay2:默认推荐,性能优秀
- aufs:旧版Ubuntu默认,功能稳定
- devicemapper:CentOS默认,适合企业环境
查看当前驱动:
docker info | grep "Storage Driver"
3. 配置daemon.json
在/etc/docker/daemon.json
中可配置高级选项:
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"registry-mirrors": ["https://registry.docker-cn.com"] # 国内加速
}
配置后重启服务:
sudo systemctl restart docker
四、基础操作:容器管理实战
1. 运行第一个容器
# 运行Nginx容器
docker run -d --name web -p 80:80 nginx
# 查看运行状态
docker ps
# 访问测试
curl http://localhost
2. 镜像管理
# 拉取镜像
docker pull ubuntu:22.04
# 查看本地镜像
docker images
# 删除镜像
docker rmi ubuntu:22.04
3. 数据持久化
使用卷(Volume)实现数据持久化:
# 创建数据卷
docker volume create myvol
# 运行带卷的容器
docker run -d --name mysql -v myvol:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
五、进阶技巧:提升使用效率
1. 使用Docker Compose
安装Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
示例docker-compose.yml:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
2. 构建自定义镜像
创建Dockerfile:
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
构建镜像:
docker build -t myapp .
六、常见问题解决方案
1. 权限问题
症状:Got permission denied while trying to connect to the Docker daemon socket
解决:
sudo chmod 666 /var/run/docker.sock # 临时方案
# 或按前文将用户加入docker组(推荐)
2. 镜像拉取慢
解决方案:
配置国内镜像源(如阿里云、腾讯云):
{
"registry-mirrors": [
"https://<your-id>.mirror.aliyuncs.com",
"https://registry.docker-cn.com"
]
}
3. 端口冲突
解决方案:
修改容器端口映射:
docker run -d -p 8080:80 nginx # 将宿主机的8080映射到容器的80
七、最佳实践建议
- 镜像选择:优先使用官方镜像,减少安全风险
- 资源限制:为生产环境容器设置CPU/内存限制
docker run -d --memory="512m" --cpus="1.5" nginx
- 日志管理:配置日志轮转,避免磁盘占满
- 定期更新:保持Docker引擎和镜像为最新版本
- 备份策略:定期备份重要数据卷
八、卸载Docker
如需卸载:
# 卸载Docker引擎
sudo apt-get purge docker-ce docker-ce-cli containerd.io
# 删除残留文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
结语
通过本文的详细指导,您已经掌握了在Linux系统上部署Docker的完整流程,从环境准备、安装配置到高级管理技巧。Docker作为容器化技术的标杆,能够显著提升开发效率和系统资源利用率。建议在实际应用中结合CI/CD流程,充分发挥Docker在微服务架构中的优势。
下一步建议:
- 深入学习Dockerfile最佳实践
- 探索Kubernetes容器编排
- 实践多阶段构建优化镜像大小
- 了解Docker安全加固技术
通过持续实践和学习,您将能够构建出高效、安全的容器化应用环境。
发表评论
登录后可评论,请前往 登录 或 注册