Skip to content

Instantly share code, notes, and snippets.

@remarkablemark
Last active January 27, 2025 18:57
Show Gist options
  • Save remarkablemark/aacf14c29b3f01d6900d13137b21db3a to your computer and use it in GitHub Desktop.
Save remarkablemark/aacf14c29b3f01d6900d13137b21db3a to your computer and use it in GitHub Desktop.
Install node and npm with nvm using Docker.
#!/usr/bin/env bash
# confirm docker daemon is running and connected
docker version
# build the image based on the Dockerfile and name it `nvm`
docker build -t nvm .
# confirm image is present
docker images
# enter container terminal
docker run -it nvm bash
# set the base image to Debian
# https://hub.docker.com/_/debian/
FROM debian:latest
# replace shell with bash so we can source files
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# update the repository sources list
# and install dependencies
RUN apt-get update \
&& apt-get install -y curl \
&& apt-get -y autoclean
# nvm environment variables
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 4.4.7
# install nvm
# https://github.com/creationix/nvm#install-script
RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash
# install node and npm
RUN source $NVM_DIR/nvm.sh \
&& nvm install $NODE_VERSION \
&& nvm alias default $NODE_VERSION \
&& nvm use default
# add node and npm to path so the commands are available
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
# confirm installation
RUN node -v
RUN npm -v
@gustavo-olegario-aba
Copy link

Man, why every time I search for K8S and Docker I ended up finding @remarkablemark in Google results? 😆 Man your SEO is killer

@remarkablemark
Copy link
Author

@gustavo-olegario-aba haha thanks, does the code still work? I haven't updated it in a long time 😂

@gustavo-olegario-aba
Copy link

@gustavo-olegario-aba haha thanks, does the code still work? I haven't updated it in a long time 😂

It was not exactly what I was looking for, but it was worthy the time for sure

@remarkablemark
Copy link
Author

@gustavo-olegario-aba thanks as long as you had a good time, I'm good with that 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment