GitLab Docker 构建锁定在快速下载超时

问题描述

在 Gitlab 作业管道中的 Docker 构建期间,进程被冻结

1 小时后构建被超时杀死。

Dockerfile:

FROM node:14.17.0

workdir /app

ARG NODE_ENV=dev

ENV NODE_ENV $NODE_ENV

ENV PORT 3005

copY ["package.json","tsconfig.json","./"]

RUN npm install --unsafe-perm
copY ./src ./src
copY ./views ./views
RUN npm run build
EXPOSE $PORT

CMD ["npm","start"]

我尝试在我的 Windows 环境中构建 docker 没有任何问题。

解决方法

看起来像 lovell/sharp issue 2611

解决方法:

如果您无法升级,请更改 node_modules/sharp/binding.gyp 中的这一行:

'-std=c++0x',

致:

'-std=c++14',

然后运行 ​​npm rebuild

实际解决方案:升级。

我强制 package.json 上的分辨率使用新版本的 Sharp,我可以安装和运行,但是由于 Node 16,我的 node-sass 崩溃了。
我删除了清晰的分辨率并将 gitlab CI Docker 中的图像降级到 node:14

现在一切正常,所以似乎是 Node 而不是 Sharp 的问题。


OP Pidthe comments 中确认已通过更新主机操作系统 Ubuntu (20.04) 解决了该问题。
但这会导致 lovell/sharp issue 2817,而这又需要 GitLab 支持。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...