Cómo instalar el último nodo dentro de un contenedor acoplable


26

¿Cómo instalo el último nodo dentro de un contenedor docker ubuntu 15.10? apt-get install nodejsinstala la versión 0.1 y no npm

Gracias


¿Lo resolviste? Para mí instala npm v 3.10, no puedo obtener 6+
simPod

Respuestas:


31

Ok lo tengo,

# update 
apt-get update
# install curl 
apt-get install curl
# get install script and pass it to execute: 
curl -sL https://deb.nodesource.com/setup_4.x | bash
# and install node 
apt-get install nodejs
# confirm that it was successful 
node -v
# npm installs automatically 
npm -v

Uso curl -sL https://deb.nodesource.com/setup_5.x | bashpara el nodo 5.x

Reemplace 5por la versión de nodo deseada, por ejemplo, 8, 12, etc.


12
He visto estas mismas instrucciones en toda la web, pero no consigo que instale npm. Después de ejecutar el apt-get -y install nodejs, ejecutar un comando npm no funciona. Obtengo/bin/sh: 1: npm: not found
Alex White

Tengo el mismo problema.
Y finalmente

¿Qué sucede si quiero tener la versión exacta como 8.9.4? El comando anterior falla.
Sourav Prem

2
Mira esto . En la sección README, explica cómo obtener una versión diferente. Además, 4 está siendo finalizado, así que no use el comando anterior exactamente.
Nathaniel Ford el

/bin/sh: apt-get: command not found /bin/sh: apk: command not foundusandoFROM amazonlinux:1
OZZIE

14

Solución actualizada a partir de enero de 2019:

FROM ubuntu:latest
USER root
WORKDIR /home/app
COPY ./package.json /home/app/package.json
RUN apt-get update
RUN apt-get -y install curl gnupg
RUN curl -sL https://deb.nodesource.com/setup_11.x  | bash -
RUN apt-get -y install nodejs
RUN npm install

pero de esta manera obtienes la última versión 11 de nodejs. ¿Qué pasa si quieres 11.5.4?
Claudiu Creanga

Debería haber reducido a las versiones menores en ese registro de deb, simplemente reemplace la X con 5.4 (no probado por mi parte)
Dan

Esta no es una buena práctica. ¡No lo ejecutarás como root!
Khalid el

10

Así es como he estado instalando nodeJS en un contenedor. En mi caso, estoy usando una imagen base nginx.

Usa el siguiente comando

    apt-get update -yq \
    && apt-get install curl gnupg -yq \
    && curl -sL https://deb.nodesource.com/setup_8.x | bash \
    && apt-get install nodejs -yq

GNUPG es necesario para el instalador de nodeJS. Sin él, recibirá el siguiente mensaje de error;

[91mE: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation


2

instalación de nodejs v8 con la imagen base de ubuntu 16.04:

FROM ubuntu:16.04

WORKDIR /app

RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment
RUN echo "LANG=en_US.UTF-8" >> /etc/environment
RUN echo "NODE_ENV=development" >> /etc/environment
RUN more "/etc/environment"
#RUN locale-gen en_US en_US.UTF-8
#RUN dpkg-reconfigure locales

RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get dist-upgrade -y
RUN apt-get install curl htop git zip nano ncdu build-essential chrpath libssl-dev libxft-dev pkg-config glib2.0-dev libexpat1-dev gobject-introspection python-gi-dev apt-transport-https libgirepository1.0-dev libtiff5-dev libjpeg-turbo8-dev libgsf-1-dev fail2ban nginx -y

# Install Node.js
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
RUN apt-get install --yes nodejs
RUN node -v
RUN npm -v
RUN npm i -g nodemon
RUN nodemon -v

# Cleanup
RUN apt-get update && apt-get upgrade -y && apt-get autoremove -y

También instalé algunas dependencias adicionales que necesito para que pueda limpiar este código según sus necesidades. Pero instala nodejs & npm & nodemon.


1

Estoy usando el siguiente Dockerfile para configurar el nodo versión 8.10.0.

Aquí he usado NVM (Node Version Manager) , para que podamos elegir qué versión de nodo se debe instalar en ese contenedor. Utilice la ruta absoluta de npm al instalar módulos de nodo (por ejemplo: /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install leasot @ latest -g)

   FROM ubuntu:18.04
   ENV NODE_VERSION=8.10.0
   RUN apt-get update && \
       apt-get install wget curl ca-certificates rsync -y
   RUN wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
   ENV NVM_DIR=/root/.nvm
   RUN . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION}
   RUN . "$NVM_DIR/nvm.sh" &&  nvm use v${NODE_VERSION}
   RUN . "$NVM_DIR/nvm.sh" && nvm alias default v${NODE_VERSION}
   RUN cp /root/.nvm/versions/node/v${NODE_VERSION}/bin/node /usr/bin/
   RUN cp /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm /usr/bin/
   RUN /root/.nvm/versions/node/v${NODE_VERSION}/bin/npm install  leasot@latest -g

Nota: Este es un Dockerfile recortado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.