L'histoire de l'ajout du dernier Node.js à DockerFile

Je voulais installer Node.js sur une image que j'avais créée ailleurs, mais elle n'est pas sortie immédiatement après l'avoir vérifiée, donc un mémo

supposition

J'avais besoin d'essayer de toucher le wasm avec Rust. Utilise un conteneur basé sur Buster.

Conclusion

Ajouté ceci

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

Qu'est-ce que je fais Obtenez l'architecture Cliquez sur url sur le site officiel Déploiement

Version affichée dans le journal

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

Pensées

Au début, je l'ai installé avec apt, mais la version est ancienne (je me souviens qu'elle était d'environ 10), alors j'ai pensé à la mettre à jour. Cependant, je n'ai pas trouvé la méthode «correcte» même après une recherche correcte, alors je suis allé à Docker Hub. https://hub.docker.com/_/node

À partir de là, accédez à DockerFile, une image basée sur un système d'exploitation (cette fois buster) similaire à celui que vous utilisez. Extrayez la partie où le nœud est installé à partir de là et appliquez-la à votre fichier Docker. (En fait, il y avait une somme de contrôle ou quelque chose, mais je l'ai supprimé)

Cela a fonctionné à merveille. c'est tout.

La source

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

Recommended Posts

L'histoire de l'ajout du dernier Node.js à DockerFile
Une histoire sur la compatibilité d'un Dockerfile existant avec le GPU
L'histoire de l'introduction de la communication Ajax à Ruby
L'histoire de la montée de la série Spring Boot 1.5 à la série 2.1
L'histoire de la montée de Spring Boot de la série 1.5 à la série 2.1 part2
20190803_Java & k8s sur Azure L'histoire d'aller au festival
L'histoire de la transmission de Java à Heroku à l'aide du pipeline BitBucket
[Apache Tomcat] L'histoire de l'utilisation d'Apache OpenWebBeans pour activer CDI
L'histoire de @ViewScoped dévore la mémoire
L'histoire que je voulais développer Zip
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
L'histoire de toString () commençant par le passage d'un tableau à System.out.println
De Java naissant (3 ans) à Node.js (4 ans). Et l'impression de retourner à Java
L'histoire de la rencontre avec l'annotation personnalisée Spring
Le secret du succès d'IntelliJ IDEA
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
L'histoire de la mise à jour du Docker Container de Sonar Qube
L'histoire du passage d'Amazon RDS pour MySQL à Amazon Aurora Serverless
L'histoire de la sortie de l'application Android sur le Play Store pour la première fois.
Comment déterminer le nombre de parallèles
L'histoire de RxJava souffrant de NoSuchElementException
Sortie du livre "Introduction à Java"
L'histoire de l'écriture de Java dans Emacs
Comment vérifier la dernière version de io.spring.platform pour l'écriture dans pom.xml de Spring (STS)
L'histoire de la comparaison de chaînes de bas niveau en Java
Bouton [Rails] pour revenir en haut de la page
L'histoire de la fabrication d'un Othello ordinaire à Java
Une histoire accro à EntityNotFoundException de getOne de JpaRepository
Personnalisez la répartition du contenu de Recyclerview
Faire une marge à gauche du TextField
L'histoire de l'apprentissage de Java dans la première programmation
Définir l'heure de LocalDateTime à une heure spécifique
L'histoire du réglage de l'application Android avec libGDX
Je veux var_dump le contenu de l'intention
Comment obtenir le jour d'aujourd'hui
Changer le fuseau horaire du conteneur https-portal en JST
Sortie de la façon d'utiliser la méthode slice
[Ruby] Code pour afficher le jour
Installez la dernière version de Jenkins sur Ubuntu 16
Comment afficher le résultat du remplissage du formulaire
L'histoire de l'initialisation de Money :: Currency pendant les tests
Java Bienvenue dans le marais des tableaux bidimensionnels
Nous avons extrait les meilleurs plastiques de Dockerfile!
[Java] Comment obtenir l'URL de la source de transition
De l'introduction de la conception à la création de la table des utilisateurs
Comment supprimer / mettre à jour le champ de liste de OneToMany
Étendre les Highfaces pour inverser l'axe vertical du graphique
Comment écrire Scala du point de vue de Java
J'étais accro au record du modèle associé
Convertit le tableau d'erreurs.full_messages en caractères et sortie