5.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			5.6 KiB
		
	
	
	
	
	
	
	
代理IP管理系统 Docker 部署指南
🐳 Docker 快速开始
📌 国内用户注意:Dockerfile已配置国内镜像源加速,包括:
- Alpine Linux包管理器使用阿里云镜像源
 - npm使用淘宝镜像源
 - 大幅提升构建速度!
 
方式一:使用 Docker Compose(推荐)
- 克隆项目
 
git clone <your-repo-url>
cd dailiip
- 构建并启动容器
 
docker-compose up -d
- 查看日志
 
docker-compose logs -f proxy-manager
- 访问应用
 
- 浏览器访问:http://localhost:3000
 - API地址:http://localhost:3000/api
 
方式二:使用 Docker 命令
- 构建镜像
 
docker build -t proxy-ip-manager .
- 运行容器
 
# 基本运行
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 参数挂载本地目录:
-v /path/to/your/data:/app/data
-v /path/to/your/logs:/app/logs
🔧 常用命令
Docker Compose
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 查看日志
docker-compose logs -f
# 重新构建
docker-compose up -d --build
# 进入容器
docker-compose exec proxy-manager sh
Docker 命令
# 查看运行状态
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秒检查一次:
# 查看健康状态
docker inspect proxy-manager | grep Health -A 10
# 查看健康检查日志
docker inspect proxy-manager | grep Log -A 5
🚨 故障排除
1. 容器无法启动
# 查看详细错误日志
docker-compose logs proxy-manager
# 检查端口是否被占用
netstat -tlnp | grep 3000
2. 数据库问题
# 检查数据目录权限
ls -la data/
# 重新创建数据目录
sudo rm -rf data logs
mkdir -p data logs
sudo chown -R 1000:1000 data logs
3. 日志文件权限问题
如果遇到 EACCES: permission denied 错误:
# Linux/Mac
mkdir -p logs
chmod 777 logs  # 或者 chmod 755 logs
# Windows PowerShell (如果使用Docker Desktop)
New-Item -ItemType Directory -Path logs -Force
# 在Docker Desktop设置中,确保目录有正确权限
# 或者删除logs目录,让容器自动创建
rm -rf logs
# 然后重新启动容器
docker-compose up -d
注意:容器内使用 node 用户(UID 1000)运行,确保挂载的logs目录对该用户有写入权限。
4. 性能优化
# 限制内存使用
docker run -d --memory=512m proxy-ip-manager
# 设置CPU限制
docker run -d --cpus=0.5 proxy-ip-manager
📈 监控
使用健康检查API
curl http://localhost:3000/api/health
查看资源使用情况
# 查看容器资源使用
docker stats proxy-manager
# 查看磁盘使用
docker system df
🔄 更新应用
# 拉取最新代码
git pull
# 重新构建并启动
docker-compose up -d --build
🐛 调试模式
如需调试,可以临时修改环境变量:
# 修改 docker-compose.yml
environment:
  - NODE_ENV=development
  - DEBUG=proxy:*
# 或使用 Docker 命令
docker run -d -e NODE_ENV=development -e DEBUG=proxy:* proxy-ip-manager
🔒 安全建议
- 使用非root用户运行:Dockerfile中已配置
 - 限制网络访问:根据需要配置防火墙
 - 定期更新镜像:
docker pull node:24.11.0-alpine docker-compose up -d --build 
🇨🇳 国内用户加速(可选)
Docker Hub镜像加速
如果Docker Hub拉取镜像较慢,可以配置国内镜像加速:
# 配置Docker镜像加速器(以阿里云为例)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
EOF
# 重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
构建时使用国内Node.js镜像
# 直接使用国内镜像源构建
docker build -t proxy-ip-manager .
# 或者指定国内镜像构建
docker build --build-arg REGISTRY=https://registry.npmmirror.com -t proxy-ip-manager .
- 备份数据:
# 备份数据库 tar -czf backup-$(date +%Y%m%d).tar.gz data/ logs/ 
📞 支持
如遇问题,请检查:
- Docker和Docker Compose版本是否兼容
 - 端口3000是否被占用
 - 磁盘空间是否充足
 - 查看容器日志获取详细错误信息