运行 Docker 容器时"linux is NOT supported"



所以我的NodeJS项目有以下Dockerfile:

WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

COPY . .
EXPOSE 80/tcp
CMD ["npm", "start"]

到目前为止还不错。Docker构建成功运行,但当我尝试运行容器时,我会得到以下结果:

$ docker run myContainer
backend@1.0.0 start
node src/index.js
linux is NOT supported.   <----- THIS right here... ??

我如何才能了解更多有关此方面的信息?没有堆栈跟踪,没有信息或任何东西可以从这里继续。。。

我已经尝试过的:

  • 我在Dockerfile中尝试了不同的基本映像,结果相同
  • 我的本地机器是Windows,所以我尝试将docker切换到linux容器,但没有任何效果
  • 我还在Debian上把它部署到GCP。同样的结果

感谢

找到了解决方案,它实际上位于我的一个依赖项上。如果有人有类似的问题,你可以"grep";nodemodule文件夹中的消息,以查找消息的来源。

您可以通过docker logs myContainer检查日志以查看是否有更多信息

如果日志没有帮助,您可以尝试使用不同版本的NodeJS运行容器。您可以通过在Dockerfile中指定版本来做到这一点,如下所示:

FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

COPY . .
EXPOSE 80/tcp
CMD ["npm", "start"]

我最后要说的是尝试用不同的Linux发行版运行容器。您可以使用FROM指令在Dockerfile中指定Linux发行版,如下所示:FROM ubuntu:latest

相关内容

  • 没有找到相关文章

最新更新