1

我正在 NodeJs 中创建一个需要支持特定 xml 请求的 Web 服务。所以我使用 libxmljs 来解析 xml 并针对 xsd 验证它。

在我的 Windows 机器上一切正常,所以当这样做时:

isValid = xml.validate(xsd)

isValid 将设置为布尔值,xml 将在属性validationErrors 中有项目。一切都很好,直到我在运行 node:10.15.2-alpine 的 docker 容器中运行它。

只要验证通过,一切都很好,但是当出现验证错误时,整个 docker 容器就会崩溃。

谷歌搜索时我找不到答案,所以我会自己提供答案:-)

4

2 回答 2

1

更改 Dockerfile 以使用 FROM node:10.15.2-slim 而不是 FROM node:10.15.2-alpine。

是的,它使用了更多空间,但 alpine 版本似乎与 libxmljs 使用的一些预构建 python 库不兼容。

于 2019-03-22T07:10:42.003 回答
0

我遇到了同样的问题,我能够通过安装 python、g++ 和 make 来解决一些 alpine 发行版的问题。

apk add --update --no-cache python3 && ln -sf python3 /usr/bin/python && apk add --update --no-cache g++ && apk add --update --no-cache make
于 2021-08-01T10:55:45.700 回答