डॉकटर कंटेनर के अंदर नवीनतम नोड कैसे स्थापित करें


26

मैं एक डॉक ubuntu 15.10 कंटेनर के अंदर नवीनतम नोड कैसे स्थापित करूं? apt-get install nodejsसंस्करण 0.1 और कोई npm स्थापित करता है

धन्यवाद


क्या आपने इसे हल किया? मेरे लिए यह npm v 3.10 स्थापित करता है, 6+
simPod

जवाबों:


31

ठीक मिल गया,

# 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

curl -sL https://deb.nodesource.com/setup_5.x | bashनोड 5.x के लिए उपयोग करें

5अपने इच्छित नोड संस्करण द्वारा प्रतिस्थापित करें जैसे 8, 12, आदि।


12
मैंने इन सभी निर्देशों को पूरे वेब पर देखा है, लेकिन मैं इसे npm को स्थापित करने के लिए नहीं पा रहा हूँ। चलाने के बाद apt-get -y install nodejs, एक npm कमांड चलाने से काम नहीं चलता है। मुझे मिलता है/bin/sh: 1: npm: not found
एलेक्स व्हाइट

मेरी भी यही समस्या है।
और अंततः

क्या होगा यदि मैं 8.9.4 के रूप में सटीक संस्करण रखना चाहता हूं? उपरोक्त आदेश विफल रहता है।
सौरव प्रेम

2
देखें इस । README सेक्शन में यह बताया गया है कि विभिन्न संस्करण कैसे प्राप्त करें। साथ ही, 4 को एंड-ऑफ-लाइफ किया जा रहा है, इसलिए उपरोक्त कमांड का उपयोग बिल्कुल न करें।
नाथनियल फोर्ड

/bin/sh: apt-get: command not found /bin/sh: apk: command not foundका उपयोग करFROM amazonlinux:1
OZZIE

14

जनवरी 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

लेकिन इस तरह आपको नोडज का नवीनतम संस्करण 11 मिलता है। यदि आप 11.5.4 चाहते हैं तो क्या होगा?
क्लॉडिउ क्रेगना

उस डिबेट रजिस्ट्री में मामूली संस्करणों के लिए नीचे होना चाहिए, बस एक्स को 5.4 के साथ बदलें (मेरी तरफ
डेन

यह अच्छा अभ्यास नहीं है। आप इसे जड़ के रूप में नहीं चलाएंगे!
खालिद

10

यह है कि मैं एक कंटेनर में नोडजेएस कैसे स्थापित कर रहा हूं। मेरे मामले में, मैं एक nginx आधार छवि का उपयोग कर रहा हूं।

निम्न आदेश का उपयोग करें

    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

GNJG की आवश्यकता नोडजेएस इंस्टॉलर द्वारा की जाती है। इसके बिना, आपको निम्न त्रुटि संदेश मिलेगा;

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

4

आप अपने Dockerfile में एक पंक्ति जोड़ सकते हैं।

FROM node:8.2

यहाँ समर्थित टैग नामों की एक सूची है: https://hub.docker.com/_/node/


27
यह उत्तर किसी भिन्न आधार छवि का उपयोग करने में किसी की मदद नहीं करता है।
चार्ल्स ऑफेनबैकर

तब वे टॉमाज़ के जवाब का उपयोग कर सकते हैं
प्रयोगशालाओं को प्रस्तुत करें

2

ubuntu 16.04 बेस इमेज के साथ नोडज v8 इंस्टॉल करना:

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

मैंने कुछ अतिरिक्त निर्भरताएं भी स्थापित की हैं जिनकी मुझे आवश्यकता है ताकि आप अपनी आवश्यकताओं के लिए इस कोड को साफ कर सकें। लेकिन यह नोडज और एनपीएम और नोडम स्थापित करता है।


1

मैं नोड संस्करण ..१०.० को सेटअप करने के लिए Dockerfile का उपयोग कर रहा हूं।

यहां मैंने एनवीएम (नोड संस्करण प्रबंधक) का उपयोग किया है , इसलिए हम यह चुन सकते हैं कि उस कंटेनर पर कौन सा नोड संस्करण स्थापित किया जाना चाहिए। नोड मॉड्यूल स्थापित करते समय कृपया npm के निरपेक्ष पथ का उपयोग करें (जैसे: /root/.nvm/versions/node/v$azingNODE_VERSIONarios/bin/npm स्थापित 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

नोट: यह एक फसली डॉकरीफाइल है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.