-
-
Save artemgordinskiy/b79ea473e8bc6f67943b to your computer and use it in GitHub Desktop.
# 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! |
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
Nice work
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 "$@"
then
sudo chmod +x /usr/local/bin/npm
now you can use npm install
, npm run anything
, etc.
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 !
@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.
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 .npm
and .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
Hi there!
There a way to store in VSCode the command line syntaxe to run npm run build
from docker container?
For Windows (CMD)
docker run --rm -v "%cd%":/app -w /app node:alpine npm i