Die Geschichte des Hinzufügens der neuesten Node.js zu DockerFile

Ich wollte Node.js auf einem Image installieren, das ich an anderer Stelle erstellt hatte, aber es kam nicht sofort nach dem Überprüfen heraus, also ein Memo

Annahme

Ich musste versuchen, Wasm mit Rust zu berühren. Verwendet einen Buster-basierten Container.

Fazit

Fügte dies hinzu

ENV NODE_VERSION 15.0.1

RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
    && case "${dpkgArch##*-}" in \
    amd64) ARCH='x64';; \
    ppc64el) ARCH='ppc64le';; \
    s390x) ARCH='s390x';; \
    arm64) ARCH='arm64';; \
    armhf) ARCH='armv7l';; \
    i386) ARCH='x86';; \
    *) echo "unsupported architecture"; exit 1 ;; \
    esac \
    && set -ex \
    && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
    && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
    && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
    && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
    && node --version \
    && npm --version

Was mache ich Holen Sie sich Architektur Klicken Sie auf der offiziellen Website auf url Einsatz

Version im Protokoll angezeigt

+ node --version
v15.0.1
+ npm --version
7.0.3

Gedanken

Zuerst habe ich es mit apt installiert, aber die Version ist alt (ich erinnere mich, dass es ungefähr 10 war), also habe ich darüber nachgedacht, es zu aktualisieren. Ich konnte jedoch die "richtige" Methode nicht finden, selbst nachdem ich richtig gesucht hatte, und ging zu Docker Hub. https://hub.docker.com/_/node

Wechseln Sie von hier aus zu DockerFile, einem Image, das auf einem Betriebssystem (diesmal Buster) basiert, das dem von Ihnen verwendeten ähnelt. Extrahieren Sie von dort den Teil, auf dem der Knoten installiert ist, und wenden Sie ihn auf Ihre Docker-Datei an. (Eigentlich gab es eine Prüfsumme oder so, aber ich habe sie gelöscht)

Es hat hervorragend funktioniert. das ist alles.

Quelle

https://hub.docker.com/_/node https://github.com/nodejs/docker-node/blob/d58d7e65c4f92ef22a190b0ca835ce62464ff3ba/15/buster/Dockerfile

Recommended Posts

Die Geschichte des Hinzufügens der neuesten Node.js zu DockerFile
Eine Geschichte darüber, wie eine vorhandene Docker-Datei mit der GPU kompatibel gemacht werden kann
Die Geschichte der Einführung der Ajax-Kommunikation in Ruby
Die Geschichte der Erhöhung der Spring Boot 1.5-Serie auf die 2.1-Serie
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
Die Geschichte, Java mithilfe der BitBucket-Pipeline nach Heroku zu bringen
[Apache Tomcat] Die Geschichte der Verwendung von Apache OpenWebBeans zum Aktivieren von CDI
Die Geschichte von @ViewScoped, die Speicher verschlingt
Die Geschichte von Collectors.groupingBy, die ich für die Nachwelt behalten möchte
Die Geschichte von toString () beginnt mit der Übergabe eines Arrays an System.out.println
Vom jungen Java (3 Jahre) bis zu Node.js (4 Jahre). Und der Eindruck, nach Java zurückzukehren
Die Geschichte der Begegnung mit Spring Custom Annotation
Das Erfolgsgeheimnis von IntelliJ IDEA
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Die Geschichte der Aktualisierung des Docker-Containers von Sonar Qube
Die Geschichte des Wechsels von Amazon RDS für MySQL zu Amazon Aurora Serverless
Die Geschichte der ersten Veröffentlichung der Android-App im Play Store.
So bestimmen Sie die Anzahl der Parallelen
Die Geschichte von RxJava, das unter NoSuchElementException leidet
Ausgabe des Buches "Einführung in Java"
Die Geschichte des Schreibens von Java in Emacs
So überprüfen Sie die neueste Version von io.spring.platform für das Schreiben in pom.xml von Spring (STS)
Die Geschichte des einfachen String-Vergleichs in Java
Schaltfläche [Schienen], um zum Anfang der Seite zurückzukehren
Die Geschichte eines gewöhnlichen Othello in Java
Eine Geschichte, die süchtig nach EntityNotFoundException von getOne of JpaRepository ist
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
Machen Sie einen Rand links vom TextField
Die Geschichte des Lernens von Java in der ersten Programmierung
Stellen Sie die Zeit von LocalDateTime auf eine bestimmte Zeit ein
Die Geschichte der Optimierung der Android-App mit libGDX
Ich möchte den Inhalt der Absicht var_dump
Wie komme ich zum heutigen Tag?
Ändern Sie die Zeitzone des https-Portal-Containers in JST
Ausgabe der Verwendung der Slice-Methode
[Ruby] Code zur Anzeige des Tages
Installieren Sie die neueste Version von Jenkins unter Ubuntu 16
So zeigen Sie das Ergebnis des Ausfüllens des Formulars an
Die Geschichte der Initialisierung von Money :: Currency während des Testens
Java Willkommen im Sumpf der zweidimensionalen Arrays
Wir haben die besten Kunststoffe von Dockerfile extrahiert!
[Java] So erhalten Sie die URL der Übergangsquelle
Von der Einführung des Geräts bis zur Erstellung der Benutzertabelle
So löschen / aktualisieren Sie das Listenfeld von OneToMany
Erweitern Sie Highfaces, um die vertikale Achse des Diagramms umzudrehen
Wie schreibe ich Scala aus der Perspektive von Java
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
Konvertieren Sie das Array von error.full_messages in Zeichen und geben Sie es aus