我有一个在Docker容器中使用strapi的应用程序,我是通过docker compose up --build运行这个应用程序的,docker compose up --build会先构建应用程序,然后再运行它。 我遇到的问题是,虽然这在我家里的电脑上可以工作,但当我在服务器上尝试它时,它会在试图编译webpack时永远挂起。 日志也没能显示任何有趣的东西,这让我对下一步该怎么做有点困惑。
#! /bin/sh
cd /srv/deployed_project
# close any running containers
docker compose down
# build each dockerfile individually, to avoid overloading memory.
cd /srv/deployed_project/nginx
docker build -f nginx.Dockerfile --target production .
cd /srv/deployed_project/strapi
docker build -f strapi.Dockerfile --target production .
cd /srv/deployed_project/nextjs
docker build -f nextjs.Dockerfile --target production .
# -d detaches the containers
cd /srv/deployed_project
docker compose up -d
1条答案
按热度按时间guicsvcw1#
我最终解决了这个问题,在斯特拉皮不和的人的帮助下。
答案是应用程序在构建过程中内存不足,Docker文档建议最低2gb,而基本的digital-oceans droplet只有1gb。
为了解决这个问题,我用一个脚本来分割构建过程:
restart-server.sh