apt update
apt install -y docker.io docker-compose
systemctl start docker
systemctl enable dockermkdir -p /etc/docker
cat > /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
]
}
EOF
systemctl daemon-reload
systemctl restart docker问题:network_mode: host 与 ports 冲突,且 CPU 限制超过实际可用数。
修改:
- 移除
ports配置 - CPU 限制从 4 调整为 2
services:
webcodecli:
# ... 其他配置保持不变
network_mode: host
# 移除了 ports 配置
deploy:
resources:
limits:
cpus: '2' # 从 '4' 改为 '2'
memory: 2G # 从 4G 改为 2G
reservations:
cpus: '0.5'
memory: 512M # 从 1G 改为 512M问题:set -e 导致 chown 失败时整个脚本退出,容器不断重启。
修改位置:/soft/WebCode/docker/docker-entrypoint.sh 第 120 行
# 修改前:
chown -R appuser:appuser /app/data /app/workspaces /app/logs
# 修改后:
chown -R appuser:appuser /app/data /app/workspaces /app/logs 2>/dev/null || echo "Note: Could not change ownership (mounted volumes)"问题:容器内 appuser (UID 1001) 无法写入挂载的目录。
chown -R 1001:1001 /soft/WebCode/webcodecli-data
chown -R 1001:1001 /soft/WebCode/webcodecli-logs
chown -R 1001:1001 /soft/WebCode/webcodecli-workspacescd /soft/WebCode
docker-compose down
docker-compose up -d --build# 检查容器状态
docker ps --filter name=webcodecli
# 检查数据库挂载
ls -la /soft/WebCode/webcodecli-data/
# 访问应用
curl http://localhost:5000