#!/bin/sh set -e cmd="$(basename "$0")" cwd="$(pwd)" uid="$(id -u)" gid="$(id -g)" [ -t 1 ] && tty=--tty # Set correct volume permission docker run \ --rm \ --read-only \ --volume "npm-cache-$uid:/.npm" \ npm \ chown "$uid:$gid" "/.npm" # Run npm command (or whatever $0 is) inside the Docker container. exec docker run \ --interactive \ --rm \ $tty \ --user "$uid:$gid" \ --read-only \ --volume "$cwd:$cwd" \ --volume "npm-cache-$uid:/.npm" \ --workdir "$cwd" \ npm \ "$cmd" "$@"