|# For example, run "npm install"|
|docker run -v "$PWD":/usr/src/app -w /usr/src/app node:4 npm install|
|# This command creates a container (downloading one first if you don't have it locally), runs the command in a current directory and quits the container|
|# Great Success!|
Jul 27, 2017
Aug 22, 2017
Thanks very much. Based on this I created a build command, using current node container (alpine, because it is smaller) and chaining two npm commands together:
docker run -v "$PWD":/usr/src/app -w /usr/src/app node:alpine sh -c 'npm install && npm run dist'
Nov 21, 2017
Jan 10, 2018
With the latest LTS version:
sudo docker run -v $(pwd):/usr/src/app -w /usr/src/app node:8.9.4 npm install
Apr 22, 2018
for docker in windows
docker run -v c:\path_to_app:/usr/src/app -w /usr/src/app node:8.9.4 bash -c "npm install"
May 26, 2018
For Windows (CMD)
docker run --rm -v "%cd%":/app -w /app node:alpine npm i
Oct 31, 2018
On MacOS/Linux with NodeJS 10 LTS:
docker run --user $(id -u):$(id -g) -v $PWD:/app -v $PWD/.npm:/.npm -v $PWD/.config:/.config -w /app node:10.12.0-alpine npm install
Apr 16, 2019
Jun 6, 2019
Why not create a file named 'npm' in '/usr/local/bin' with:
#!/bin/bash docker run --rm -i --user=$UID:1000 --name=npm-executable -w /usr/app -v $PWD:/usr/app node:10 npm "$@"
sudo chmod +x /usr/local/bin/npm
now you can use
npm run anything, etc.
Jul 30, 2019
Hello, I'm new to Docker and lost in your instructions...
What are we supposed to put instead of the
c:\path_to_app and the
/usr/src/app expressions ?
Thanks for the help !
Jul 31, 2019
@clrmahieu you only have to replace the c:\path_to_app with the full path for your app root folder, usually it's your current path where you have your package.json file.
Mar 11, 2021
On MacOS/Linux with NodeJS 10 LTS:docker run --user $(id -u):$(id -g) -v $PWD:/app -v $PWD/.npm:/.npm -v $PWD/.config:/.config -w /app node:10.12.0-alpine npm install
This creates 2 folders
.config within the current project's directory. I would avoid this since you can easily include them in the next commits by mistake.
A better alternative is to mount these folders from your user's home directory:
docker run --user $(id -u):$(id -g) -v $PWD:/app -v $HOME/.npm:/.npm -v $HOME/.config:/.config -w /app node:10.12.0-alpine npm install
Mar 22, 2021
There a way to store in VSCode the command line syntaxe to run
npm run build from docker container?