Docker 容器化部署实践
安装 Docker 套件
群晖 DSM 7.2 提供 Container Manager(原 Docker 套件):
- 打开 套件中心 > 搜索 “Container Manager”
- 安装 Container Manager 套件
- 安装完成后在主菜单中找到 Container Manager 图标
提示:DSM 7.2 将 Docker 套件更名为 Container Manager,功能更强,支持 Docker Compose 项目管理。
常用容器部署
Nginx(Web 服务器)
# docker-compose.yml
services:
nginx:
image: nginx:alpine
container_name: site-nginx
ports:
- "8080:80"
- "8443:443"
volumes:
- /volume1/web/_site:/usr/share/nginx/html:ro
- /volume1/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
restart: unless-stopped
Syncthing(文件同步)
services:
syncthing:
image: syncthing/syncthing
container_name: syncthing
ports:
- "8384:8384" # Web UI
- "22000:22000" # Sync protocol
volumes:
- /volume1/docker/syncthing:/var/syncthing
- /volume1/data:/data
restart: unless-stopped
Docker Compose 实践
群晖 Container Manager 支持 Docker Compose 项目:
- 在 Container Manager > 项目 > 创建
- 填写项目名称和 compose 文件路径
- 将 compose 文件放在
/volume1/docker/compose/下 - Container Manager 会自动拉取镜像并启动
推荐的目录结构:
/volume1/docker/
├── compose/
│ ├── site/
│ │ └── docker-compose.yml
│ └── syncthing/
│ │ └── docker-compose.yml
├── nginx/
│ └── nginx.conf
└── syncthing/
│ └── config/
资源限制与监控
为容器设置资源限制防止单个容器占用过多资源:
services:
nginx:
# ...
deploy:
resources:
limits:
cpus: '0.5'
memory: 256M
reservations:
cpus: '0.1'
memory: 64M
查看容器资源使用情况:
- Container Manager > 容器 > 点击具体容器 > 赈源监控
- 也可使用
docker stats命令查看实时数据
评论功能基于 Giscus(GitHub Discussions)——在 repo 启用 Discussions 后,到 giscus.app 获取仓库 ID 填入
src/_data/site.json即可启用。