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
J'avais besoin d'essayer de toucher le wasm avec Rust. Utilise un conteneur basé sur Buster.
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
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.
https://hub.docker.com/_/node https://github.com/nodejs/docker-node/blob/d58d7e65c4f92ef22a190b0ca835ce62464ff3ba/15/buster/Dockerfile
Recommended Posts