Docker 服务器完整运维指南(个人服务器推荐架构)
随着越来越多服务可以通过 Docker 部署,很多个人服务器都会运行多个项目,例如博客、密码管理器、数据库等。
如果一开始没有规划好服务器结构,后期往往会出现:
项目目录混乱
数据难以备份
迁移服务器困难
运维成本越来越高
本文整理了一套 个人服务器 Docker 运维方案,适用于长期稳定运行。
一、服务器目录规划
Linux 系统推荐遵循 Filesystem Hierarchy Standard。
其中:
/opt 用于存放第三方软件
非系统程序建议统一放在 /opt
因此推荐目录结构:
/opt
└── docker
├── nginx
├── wordpress
├── bitwarden
├── mysql
└── redis
说明:
目录用途/opt/docker所有 Docker 项目nginx反向代理wordpress博客系统bitwarden密码管理mysql数据库redis缓存服务
这样规划的优点:
结构清晰
运维简单
迁移服务器方便
二、Docker 项目标准结构
每个 Docker 项目建议统一结构:
project-name
├── docker-compose.yml
├── data
├── config
└── logs
例如 WordPress:
/opt/docker/wordpress
├── docker-compose.yml
├── data
├── db
└── logs
说明:
目录用途docker-compose.yml容器启动配置data程序数据config配置文件logs日志
三、推荐部署的基础服务
一台个人服务器通常包含以下服务:
1 Nginx 反向代理
推荐使用 Nginx 统一反向代理。
目录结构:
/opt/docker/nginx
├── docker-compose.yml
├── conf
│ ├── blog.conf
│ ├── panel.conf
│ └── vault.conf
├── html
└── logs
用于反代:
博客
面板
API 服务
2 WordPress 博客
博客系统推荐使用 WordPress。
优点:
插件丰富
主题丰富
SEO 友好
社区活跃
目录:
/opt/docker/wordpress
3 Bitwarden 密码管理
密码管理推荐自建 Bitwarden。
优点:
开源
支持浏览器插件
支持手机 App
支持自托管
目录:
/opt/docker/bitwarden
四、Docker 常用运维命令
查看容器:
docker ps
查看日志:
docker logs 容器名
进入容器:
docker exec -it 容器名 bash
重启容器:
docker restart 容器名
停止项目:
docker compose down
启动项目:
docker compose up -d
五、服务器迁移方法
如果需要更换服务器,只需要迁移 /opt/docker 目录。
1 停止容器
docker compose down
2 打包数据
tar -czvf docker-backup.tar.gz /opt/docker
3 传输到新服务器
scp docker-backup.tar.gz root@新服务器:/opt
4 解压
tar -xzvf docker-backup.tar.gz
5 启动服务
cd /opt/docker
docker compose up -d
完成迁移。
六、Docker 数据备份
建议每天备份服务器数据。
备份命令:
tar -czvf /backup/docker-$(date +%F).tar.gz /opt/docker
定时任务:
crontab -e
加入:
0 3 * * * tar -czvf /backup/docker-$(date +%F).tar.gz /opt/docker
每天凌晨 3 点自动备份。
七、服务器安全建议
使用 SSH Key 登录
禁止 root 远程登录
开启防火墙
定期更新系统
定期备份数据
八、推荐服务器运维习惯
1️⃣ 所有项目统一 /opt/docker
2️⃣ 每个项目独立目录
3️⃣ 使用 docker-compose 管理
4️⃣ 所有数据必须挂载
5️⃣ 定期备份服务器
九、总结
通过合理规划服务器结构,可以获得以下优势:
清晰的项目结构
简单的服务器迁移
方便的数据备份
更专业的运维管理
这套结构非常适合:
个人博客服务器
自建云服务
开发测试服务器
长期使用也不会混乱。
如果需要进一步提升运维效率,可以继续优化:
自动备份脚本
自动 SSL 证书
统一反向代理
Docker 一键部署脚本
这样就能打造一套稳定的个人服务器环境。