一个用于管理Docker容器hosts文件映射关系的Web服务,支持通过前端界面配置IP域名映射,并自动同步到所有运行中的Docker容器。
克隆项目
git clone <repository-url>
cd synchosts
配置环境变量
# 设置Docker用户和组ID(可选)
export DOCKER_USER_ID=1000
export DOCKER_GROUP_ID=998
启动服务
docker-compose up -d
访问应用 打开浏览器访问: http://localhost:3000
安装依赖
# 安装后端依赖
npm install
# 安装前端依赖
cd frontend
npm install
启动后端服务
npm run dev
启动前端开发服务器
cd frontend
npm run dev
添加映射关系
批量添加
管理容器
查看日志
GET /api/hosts-mapping - 获取所有映射关系POST /api/hosts-mapping - 添加映射关系PUT /api/hosts-mapping/:id - 更新映射关系DELETE /api/hosts-mapping/:id - 删除映射关系GET /api/containers - 获取容器列表POST /api/containers/:id/sync - 同步指定容器POST /api/sync/all - 同步所有容器POST /api/sync/container/:id - 同步指定容器GET /api/logs - 获取日志列表GET /api/logs/export - 导出日志PORT - 服务端口(默认: 3000)DOCKER_USER_ID - Docker用户IDDOCKER_GROUP_ID - Docker组IDconfig/hosts-mapping.json - 映射关系存储config/last-sync.json - 最后同步时间记录Docker权限问题
# 确保用户有Docker访问权限
sudo usermod -aG docker $USER
端口冲突
# 修改docker-compose.yml中的端口映射
ports:
- "3001:3000" # 使用3001端口
容器无法访问
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如有问题或建议,请通过以下方式联系:
注意: 使用本服务前请确保已备份重要的Docker容器配置,避免误操作导致服务中断。
Content type
Image
Digest
sha256:ef708dd29…
Size
60.8 MB
Last updated
12 months ago
docker pull yilee01/synchosts