diff --git a/Docker/Dockerfile b/Docker/Dockerfile new file mode 100644 index 0000000..0c580ac --- /dev/null +++ b/Docker/Dockerfile @@ -0,0 +1,9 @@ +# Use an existing docker image as a base +FROM alpine + +# Download and install a dependency +RUN apk add --update redis +RUN apk add --update gcc + +# Tell the image what to do whenn it starts as a container +CMD [ "redis-server" ] \ No newline at end of file diff --git a/Docker/README.md b/Docker/README.md new file mode 100644 index 0000000..d18c117 --- /dev/null +++ b/Docker/README.md @@ -0,0 +1,19 @@ +### Docker +Der folgende Repository beinhaltet Docker Definitionen, die der Teil der Kurses (`Docker and Kubernetes: The Complete Guide`). Dies Repository besteht als Reference mit den mehreren Definitionen der Applikationen mit einem oder mit mehreren Kontainers, die miteinander mit den verschiedenen Netzwerk-Tehnologien verbunden sind. + +``` +. +├── Dockerfile +├── README.md +├── simpleApp +│   ├── Dockerfile +│   ├── index.js +│   └── package.json +└── visits + ├── docker-compose.yml + ├── Dockerfile + ├── index.js + └── package.json + +2 directories, 9 files +``` \ No newline at end of file diff --git a/Docker/simpleApp/Dockerfile b/Docker/simpleApp/Dockerfile new file mode 100644 index 0000000..229e9e8 --- /dev/null +++ b/Docker/simpleApp/Dockerfile @@ -0,0 +1,9 @@ +FROM node:alpine + +WORKDIR /usr/app + +COPY ./package.json /usr/app +RUN npm install +COPY . . + +CMD ["npm","start"] diff --git a/Docker/simpleApp/index.js b/Docker/simpleApp/index.js new file mode 100644 index 0000000..b44ab17 --- /dev/null +++ b/Docker/simpleApp/index.js @@ -0,0 +1,11 @@ +const express = require("express"); + +const app = express(); + +app.get("/", (req, res) => { + res.send("Hello there); +}); + +app.listen(8080, () => { + console.log("Listening on port 8080"); +}); diff --git a/Docker/simpleApp/package.json b/Docker/simpleApp/package.json new file mode 100644 index 0000000..ce372e7 --- /dev/null +++ b/Docker/simpleApp/package.json @@ -0,0 +1,9 @@ +{ + "dependencies": { + "express": "4.18.2", + "redis": "4.5.0" + }, + "scripts": { + "start": "node index.js" + } +} diff --git a/Docker/visits/Dockerfile b/Docker/visits/Dockerfile new file mode 100644 index 0000000..229e9e8 --- /dev/null +++ b/Docker/visits/Dockerfile @@ -0,0 +1,9 @@ +FROM node:alpine + +WORKDIR /usr/app + +COPY ./package.json /usr/app +RUN npm install +COPY . . + +CMD ["npm","start"] diff --git a/Docker/visits/docker-compose.yml b/Docker/visits/docker-compose.yml new file mode 100644 index 0000000..fb42e5f --- /dev/null +++ b/Docker/visits/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3' +services: + redis-server: + image: "redis" + node-app: + restart: always + build: . + ports: + - "4001:8081" diff --git a/Docker/visits/index.js b/Docker/visits/index.js new file mode 100644 index 0000000..872ce26 --- /dev/null +++ b/Docker/visits/index.js @@ -0,0 +1,22 @@ +const express = require("express"); +const redis = require("redis"); +const process = require("process"); + +const app = express(); +const client = redis.createClient({ + host: "redis-server", + port: 6379, +}); +client.set("visits", 0); + +app.get("/", (req, res) => { + process.exit(0); + client.get("visits", (err, visits) => { + res.send("Number of visits " + visits); + client.set("visits", parseInt(visits) + 1); + }); +}); + +app.listen(8081, () => { + console.log("listening on port 8081"); +}); diff --git a/Docker/visits/package.json b/Docker/visits/package.json new file mode 100644 index 0000000..41c3e75 --- /dev/null +++ b/Docker/visits/package.json @@ -0,0 +1,9 @@ +{ + "dependencies": { + "express": "*", + "redis": "2.8.0" + }, + "scripts": { + "start": "node index.js" + } +} diff --git a/README.md b/README.md index b23fa77..ae6feab 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,6 @@ In jedem Bereich befindet sich README.md Datei. Im Root Ordner des Bereichs steh ### ISTIO >[./ISTIO/README.md](https://git.me2digital.com/d.aster/DevOps/src/branch/master/ISTIO) + +### Docker +>[./Docker/README.md](https://git.me2digital.com/d.aster/DevOps/src/branch/master/Docker)