# 代理IP管理系统 Docker 部署指南 ## 🐳 Docker 快速开始 ### 方式一:使用 Docker Compose(推荐) 1. **克隆项目** ```bash git clone cd dailiip ``` 2. **构建并启动容器** ```bash docker-compose up -d ``` 3. **查看日志** ```bash docker-compose logs -f proxy-manager ``` 4. **访问应用** - 浏览器访问:http://localhost:3000 - API地址:http://localhost:3000/api ### 方式二:使用 Docker 命令 1. **构建镜像** ```bash docker build -t proxy-ip-manager . ``` 2. **运行容器** ```bash # 基本运行 docker run -d -p 3000:3000 --name proxy-manager proxy-ip-manager # 带数据持久化 docker run -d \ -p 3000:3000 \ -v $(pwd)/data:/app/data \ -v $(pwd)/logs:/app/logs \ --name proxy-manager \ --restart unless-stopped \ proxy-ip-manager ``` ## 📁 目录结构 ``` dailiip/ ├── Dockerfile # Docker构建文件 ├── docker-compose.yml # Docker Compose配置 ├── .dockerignore # Docker忽略文件 ├── src/ # 源代码 ├── public/ # 静态文件 ├── data/ # 数据库文件(运行时创建) └── logs/ # 日志文件(运行时创建) ``` ## ⚙️ 环境变量 | 变量名 | 默认值 | 说明 | |--------|--------|------| | NODE_ENV | production | 运行环境 | | PORT | 3000 | 应用端口 | ## 📊 数据持久化 ### Docker Compose 方式 数据库文件会自动保存到 `./data` 目录,日志保存到 `./logs` 目录。 ### Docker 命令方式 使用 `-v` 参数挂载本地目录: ```bash -v /path/to/your/data:/app/data -v /path/to/your/logs:/app/logs ``` ## 🔧 常用命令 ### Docker Compose ```bash # 启动服务 docker-compose up -d # 停止服务 docker-compose down # 查看日志 docker-compose logs -f # 重新构建 docker-compose up -d --build # 进入容器 docker-compose exec proxy-manager sh ``` ### Docker 命令 ```bash # 查看运行状态 docker ps # 查看日志 docker logs proxy-manager # 进入容器 docker exec -it proxy-manager sh # 停止容器 docker stop proxy-manager # 启动容器 docker start proxy-manager # 删除容器 docker rm proxy-manager ``` ## 🔍 健康检查 容器包含内置的健康检查,每30秒检查一次: ```bash # 查看健康状态 docker inspect proxy-manager | grep Health -A 10 # 查看健康检查日志 docker inspect proxy-manager | grep Log -A 5 ``` ## 🚨 故障排除 ### 1. 容器无法启动 ```bash # 查看详细错误日志 docker-compose logs proxy-manager # 检查端口是否被占用 netstat -tlnp | grep 3000 ``` ### 2. 数据库问题 ```bash # 检查数据目录权限 ls -la data/ # 重新创建数据目录 sudo rm -rf data logs mkdir -p data logs sudo chown -R 1000:1000 data logs ``` ### 3. 性能优化 ```bash # 限制内存使用 docker run -d --memory=512m proxy-ip-manager # 设置CPU限制 docker run -d --cpus=0.5 proxy-ip-manager ``` ## 📈 监控 ### 使用健康检查API ```bash curl http://localhost:3000/api/health ``` ### 查看资源使用情况 ```bash # 查看容器资源使用 docker stats proxy-manager # 查看磁盘使用 docker system df ``` ## 🔄 更新应用 ```bash # 拉取最新代码 git pull # 重新构建并启动 docker-compose up -d --build ``` ## 🐛 调试模式 如需调试,可以临时修改环境变量: ```bash # 修改 docker-compose.yml environment: - NODE_ENV=development - DEBUG=proxy:* # 或使用 Docker 命令 docker run -d -e NODE_ENV=development -e DEBUG=proxy:* proxy-ip-manager ``` ## 🔒 安全建议 1. **使用非root用户运行**:Dockerfile中已配置 2. **限制网络访问**:根据需要配置防火墙 3. **定期更新镜像**: ```bash docker pull node:24.11.0-alpine docker-compose up -d --build ``` 4. **备份数据**: ```bash # 备份数据库 tar -czf backup-$(date +%Y%m%d).tar.gz data/ logs/ ``` ## 📞 支持 如遇问题,请检查: 1. Docker和Docker Compose版本是否兼容 2. 端口3000是否被占用 3. 磁盘空间是否充足 4. 查看容器日志获取详细错误信息