Проблемы с установкой NodeJS на образ док-станции Kali Linux - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь создать образ докера на основе базового образа Kali Linux, и мне нужно установить 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 (У меня есть виртуальная машина VirtualBox, использующая 64-разрядную версию Debian, где она существует).Я зашел так далеко, что попытался установить метапакет kali-linux-all, но NodeJS / npm, похоже, не существует.

Я просто неправильно понимаю некоторые основные предпосылки Docker и / или KaliLinux?Есть ли другой способ установить NodeJS в мой контейнер?

1 Ответ

0 голосов
/ 13 ноября 2018

Я до сих пор не до конца понимаю, почему NodeJS установлен на моей виртуальной машине, а не на базовом образе док-станции Kali ... но в любом случае мне удалось разблокировать себя.

Сначала я потянул внизсценарий установки NodeJS от nodeource, который требовал rpm - я нашел другой сценарий, который работает без него.Однако новый сценарий также требует, чтобы я установил 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"]
...