无法在Kali Linux docker映像上安装NodeJS

时间:2018-11-13 19:59:56

标签: node.js docker npm kali-linux

我试图基于Kali Linux基础映像创建docker映像,并且需要安装NodeJS作为我的应用程序的依赖项。

这是我的Dockerfile:

FROM kalilinux/kali-linux-docker

RUN apt-get update -y && \
    apt-get dist-upgrade -y && \
    apt-get autoremove -y && \
    apt-get clean -y

RUN apt-get install curl -y

RUN curl --silent --location https://rpm.nodesource.com/setup_8.x | bash - \
    && apt-get install nodejs -y

RUN npm i -g npm

ENV NODE_ENV production

WORKDIR /root/app
COPY . .

RUN npm i

EXPOSE 4000
ENTRYPOINT ["npm", "start"]

但是,我在尝试安装NodeJS时遇到以下错误:

Step 4/11 : RUN curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -     && apt-get install nodejs -y
 ---> Running in a63e56802eba

## Installing the NodeSource Node.js 8.x LTS Carbon repo...


## Inspecting system...


## You don't appear to be running an Enterprise Linux based system,
please contact NodeSource at https://github.com/nodesource/distributions/issues
if you think this is incorrect or would like your distribution to be considered
for support.

The command '/bin/sh -c curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -     && apt-get install nodejs -y' returned a non-zero code: 1

诚然,我对一些事情感到困惑……也就是说,我觉得NodeJS已经安装在Kali Linux上(我有一个使用Debian 64位的VirtualBox VM)。我尽力尝试安装kali-linux-all元软件包,但是NodeJS / npm似乎不存在。

我只是误解了Docker和/或Kali Linux的一些基本前提吗?还有其他方法可以将NodeJS安装到我的容器中吗?

1 个答案:

答案 0 :(得分:0)

我仍然不完全理解为什么在我的VM上安装NodeJS而不是在基本的Kali docker映像上安装...但是无论如何,我确实设法解除了对自己的阻止。

首先,我从需要rpm的nodesource中提取了NodeJS安装脚本-我找到了一个不需要该脚本的脚本。但是,新脚本还要求我安装gnupg

这是我更新的Dockerfile:

FROM kalilinux/kali-linux-docker

RUN apt-get update -y && \
    apt-get dist-upgrade -y && \
    apt-get autoremove -y && \
    apt-get clean -y

RUN apt-get -y install curl gnupg

RUN curl --silent --location https://deb.nodesource.com/setup_8.x | bash - \
    && apt-get install nodejs -y

RUN npm i -g npm

ENV NODE_ENV production

WORKDIR /root/app
COPY . .

RUN npm i

EXPOSE 4000
ENTRYPOINT ["npm", "start"]