amsdard/grunt
Docker's node works as "nodejs" user. After mapping Your local directory with project into docker's /opt
, entrypoint load UID of /opt
and replace UID of "nodejs" user to new value. The result is working as Your local user (no "permission denied" errors)
Makefile
in Your projectCMD=$(filter-out $@,$(MAKECMDGOALS))
ip: ; @docker inspect --format '{{ .NetworkSettings.IPAddress }}' ${CMD}
npm: ; @docker run --rm -it \
-v ~/.ssh/:/home/nodejs/.ssh \
-v ~/.docker-npm/:/home/nodejs/.npm \
-v $$(pwd)/:/opt \
amsdard/grunt ${CMD}
grunt: ; @make npm CMD="grunt ${CMD}"
%: ; @:
/home/nodejs/.ssh
docker's location to use Your local SSH keys/home/nodejs/.npm
docker's npm cache directory/opt
docker's location as main project directory (with composer.json)make npm
make grunt build
make grunt CMD="--help"
docker pull amsdard/grunt