【问题标题】:Trouble installing NodeJS on Kali Linux docker image在 Kali Linux docker 映像上安装 NodeJS 时遇到问题
【发布时间】:2019-04-16 17:38:34
【问题描述】:

我正在尝试基于 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 安装到我的容器中?

【问题讨论】:

  • 不要争论,但配置 Docker 容器不是编程/开发问题吗?基于负面的反对意见和缺乏答案,我确信另一个网站可能更有帮助,但我并不同意这是题外话。 FWIW 我也认为我的问题是“最小、完整和可验证” - 代码完全按照发布的方式工作,我准确地描述了我的问题。
  • 我相信 Docker 标签存在于 Docker API。针对 Docker API 进行编程当然是热门话题。 Docker 只是另一个类似 chroots 的轻量级虚拟机。两者都不是主要的编程或开发相关的。它们是开发人员偶尔使用的东西。我在Unix & Linux Stack Exchange 上向我的 Docker 和 chroot 提问。我认为反对票是由于 Kali 标签。几乎每个 Kali 问题都是题外话,如今这些问题受到了沉重打击。 (以防万一......我没有投反对票。我不相信他们会堆积起来)。
  • 感谢您的澄清,我会牢记所有这些,继续前进!

标签: node.js docker npm kali-linux


【解决方案1】:

我仍然不完全理解为什么 NodeJS 安装在我的 VM 上,而不是基本的 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"]

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2018-12-16
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多