Docker在构建时被系统杀死

时间:2017-01-25 14:50:51

标签: docker out-of-memory docker-compose digital-ocean

我正在尝试使用命令在数字海洋水滴上构建我的项目:

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

因此创建了交换,但在尝试运行docker build时仍然会收到 Killed 信息。为什么呢?

2 个答案:

答案 0 :(得分:0)

tmpfs可能已满。

也许尝试如下操作: mount -o remount,size=10G,noatime /tmp

答案 1 :(得分:0)

接下来的问题:至少在我的系统上,问题是npm试图将软件包本地安装到Docker中的只读安装卷中。

因此解决方案是在Docker中向-g添加npm或在Docker中删除:ro