You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Angular+Nginx容器持续重启问题求助

Docker运行Angular应用容器持续重启问题排查与解决

第一步:查看容器启动日志

先通过日志定位具体错误原因:

docker logs web
# 或使用docker-compose命令
docker-compose logs web

第二步:修复Nginx根目录配置错误

你的Dockerfile已将Angular构建产物复制到容器内的/usr/share/nginx/html,但nginx.conf中设置的root路径为/home/ubuntu/htdocs——该目录在容器中不存在,导致Nginx无法加载静态资源启动失败。

修改nginx.conf中的root配置:

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;

    # 替换为容器内的正确路径
    root /usr/share/nginx/html;

    # 其余配置保持不变
    gzip on;
    gzip_min_length 1000;
    ...
}

第三步:修复SSL证书路径不匹配问题

docker-compose中将宿主机/etc/ssl/2023挂载到容器的/etc/nginx/certs,但nginx.conf里的证书路径指向/etc/nginx/ssl_certificate.crt和/etc/nginx/private.key,容器内无法找到这些文件,触发Nginx启动失败。

可选两种修复方案:

方案1:修改nginx.conf中的证书路径

假设宿主机/etc/ssl/2023下的证书文件名为ssl_certificate.crt和private.key,调整路径:

ssl_certificate           /etc/nginx/certs/ssl_certificate.crt;
ssl_certificate_key       /etc/nginx/certs/private.key;

方案2:调整docker-compose挂载路径

若不想修改nginx.conf,直接将宿主机证书目录挂载到nginx期望的路径:

volumes: 
 - /etc/ssl/2023:/etc/nginx/

第四步:重新构建启动容器

完成配置修改后,重新执行启动命令:

sudo docker-compose up -d --force-recreate --no-deps --build web

内容的提问来源于stack exchange,提问作者Sucheep Sriintra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:33:03