mirror of
https://github.com/The-Art-of-Hacking/h4cker
synced 2024-11-22 02:43:02 +00:00
adding docker resources for class
This commit is contained in:
parent
5c52f16bda
commit
6860cdf409
5 changed files with 84 additions and 0 deletions
24
docker-and-k8s-security/docker/Dockerfile.distroless
Normal file
24
docker-and-k8s-security/docker/Dockerfile.distroless
Normal file
|
@ -0,0 +1,24 @@
|
|||
### First Stage ###
|
||||
# Base Image
|
||||
FROM node:12-slim as build
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Install Dependencies
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
# Copy in the application we created
|
||||
COPY . .
|
||||
|
||||
### Second Stage ###
|
||||
FROM gcr.io/distroless/nodejs:12
|
||||
|
||||
# Copy App + Dependencies from Build Stage
|
||||
COPY --from=build /usr/src/app /usr/src/app
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Set User to Non-Root
|
||||
USER 1000
|
||||
|
||||
# Run Server
|
||||
CMD [ "server.js" ]
|
13
docker-and-k8s-security/docker/Dockerfile.naive
Normal file
13
docker-and-k8s-security/docker/Dockerfile.naive
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Base Image
|
||||
FROM node:12-slim
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Install Dependencies
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
# Copy in Application
|
||||
COPY . .
|
||||
|
||||
# Run Server
|
||||
CMD [ "server.js" ]
|
16
docker-and-k8s-security/docker/Dockerfile.non-root
Normal file
16
docker-and-k8s-security/docker/Dockerfile.non-root
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Base Image
|
||||
FROM node:12-slim
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Install Dependencies
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
# Copy in Application
|
||||
COPY . .
|
||||
|
||||
# Set User to Non-Root
|
||||
USER node
|
||||
|
||||
# Run Server
|
||||
CMD [ "server.js" ]
|
20
docker-and-k8s-security/docker/Makefile
Normal file
20
docker-and-k8s-security/docker/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
|||
run:
|
||||
docker run -i -d -p 8080:8080 node-distroless
|
||||
|
||||
build-naive:
|
||||
docker build \
|
||||
-f $(CURDIR)/Dockerfile.naive \
|
||||
-t node-naive \
|
||||
.
|
||||
|
||||
build-non-root:
|
||||
docker build \
|
||||
-f $(CURDIR)/Dockerfile.non-root \
|
||||
-t node-non-root \
|
||||
.
|
||||
|
||||
build-distroless:
|
||||
docker build \
|
||||
-f $(CURDIR)/Dockerfile.distroless \
|
||||
-t node-distroless \
|
||||
.
|
11
docker-and-k8s-security/docker/package.json
Normal file
11
docker-and-k8s-security/docker/package.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "hello-world",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
Loading…
Reference in a new issue