Docker在构建时被系统杀死

7d7tgy0s  于 2023-05-16  发布在  Docker
关注(0)|答案(3)|浏览(202)

我正在尝试使用以下命令在数字海洋水滴上构建我的项目:
docker-compose -f dev.yml build
登录控制台:

Building node
Step 1/5 : FROM node:6.9.2
 ---> faaadb4aaf9b
Step 2/5 : COPY ./compose/node/entrypoint-dev.sh /entrypoint.sh
 ---> Using cache
 ---> 6c22978494e4
Step 3/5 : RUN sed -i 's/\r//' /entrypoint.sh     && chmod +x /entrypoint.sh
 ---> Running in d7e663ef224c
Killed

我认为这个问题是内存不足,所以我创建了一个交换命令:

SWAPFILE=/swapfile [ = Файл подкачки / файл подкачки] 
touch $SWAPFILE
chmod 600 $SWAPFILE
# TODO: pass "count" param to script as argument
dd if=/dev/zero of=$SWAPFILE bs=1024k count=2000
mkswap $SWAPFILE
swapon $SWAPFILE

所以swap被创建了,但是当我尝试运行docker build时,我仍然得到Killed信息。为什么?

uoifb46i

uoifb46i1#

tmpfs很可能已满。
也许可以试试这样的东西:mount -o remount,size=10G,noatime /tmp

8fsztsew

8fsztsew2#

对于以下内容:至少在我的系统上,问题是npm试图将包本地安装到Docker中的只读挂载卷中。
因此,解决方案是将-g添加到npm或在Docker中删除:ro

fykwrbwg

fykwrbwg3#

在我的系统上,我使用的是Docker Desktop,构建系统使用的内存比分配的多,在我的情况下是1GB。
在Docker Desktop GUI中增加分配给Docker的内存量解决了这个问题。
资源->高级->内存

相关问题