diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..c2658d7d1 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..724cbf350 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# To build and run with Docker: +# +# $ docker build -t ng2-quickstart . +# $ docker run -it --rm -p 3000:3000 -p 3001:3001 ng2-quickstart +# +FROM node:latest + +RUN mkdir -p /quickstart /home/nodejs && \ + groupadd -r nodejs && \ + useradd -r -g nodejs -d /home/nodejs -s /sbin/nologin nodejs && \ + chown -R nodejs:nodejs /home/nodejs + +WORKDIR /quickstart +COPY package.json typings.json /quickstart/ +RUN npm install --unsafe-perm=true + +COPY . /quickstart +RUN chown -R nodejs:nodejs /quickstart +USER nodejs + +CMD npm start diff --git a/package.json b/package.json index 080c70370..95db4c6ec 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,8 @@ "tsc:w": "tsc -w", "lite": "lite-server", "typings": "typings", + "docker-build": "docker build -t ng2-quickstart .", + "docker": "npm run docker-build && docker run -it --rm -p 3000:3000 -p 3001:3001 ng2-quickstart", "postinstall": "typings install" }, "license": "ISC", @@ -25,4 +27,4 @@ "typescript": "^1.8.9", "typings":"^0.7.9" } -} \ No newline at end of file +}