Docker 容器管理工具:容器/镜像管理、日志、备份、Compose 编排
1.7K
一个主打便捷的 Docker 容器管理工具,提供服务端 API、Web 管理界面和移动端客户端。
容器
镜像
备份
Compose 文件管理
up / down / restart / pull 执行请求关注仓库发布监控
services:
dockercopilot:
container_name: dockercopilot
restart: always
network_mode: bridge
ports:
- 12712:12712
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# 数据目录:compose 文件、备份、历史都保存在这里
- ./data:/data
environment:
- TZ=Asia/Shanghai
- DOCKER_HOST=unix:///var/run/docker.sock
- secretKey=密码,不少于八位且非纯数字
# 可选:关注仓库监控
- RELEASE_WATCH_INTERVAL_MINUTES=60
- GITHUB_TOKEN=
image: liuloktar/dockercopilot:latest
启动后访问 http://<host>:12712/manager 打开管理界面。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
secretKey | 必填 | 登录密码,不少于 8 位且非纯数字 |
DOCKER_HOST | unix:///var/run/docker.sock | Docker daemon 地址 |
BACKUP_DIR | /data/backups | 容器备份目录 |
COMPOSE_DIR | /data/stacks | compose 文件目录 |
RELEASE_WATCH_INTERVAL_MINUTES | 60 | 发布检查间隔,最小 5 分钟 |
GITHUB_TOKEN | 空 | 提高 GitHub API 频率上限 |
DelOldContainer | true | 更新容器后是否删除旧容器 |
compose 文件存放在 /data/stacks:
/data/stacks/
├── app.yaml # compose 文件
├── .backups/ # 保存前自动备份,每文件最多保留 20 份
├── .trash/ # 软删除的文件,可恢复
├── .history.jsonl # 版本历史,最多 200 条
├── .queue/ # 待执行请求(服务端写入)
└── .results/ # 执行结果(watcher 写入)
服务端容器只挂载 docker.sock,不直接执行 compose 命令。执行拆成两段:
客户端 → 服务端(写 .queue/{jobId}.json)
↓
宿主机 watcher 轮询
↓
docker compose -f ... up -d
↓
写 .results/{jobId}.json
↓
客户端 ← GET /api/compose/job?jobId=
在宿主机上启动 watcher:
COMPOSE_WATCH_DIR=/path/to/data/stacks ./compose-watcher.sh
docker.sock 等价于宿主机 root 权限,不要暴露到公网https://api.github.comhttps://github.com/singleton-altman/dockerCopilot
AGPL-3.0
Content type
Image
Digest
sha256:bd6bb70ef…
Size
43.8 MB
Last updated
about 20 hours ago
docker pull liuloktar/dockercopilot