Skip to content
Snippets Groups Projects
Commit eab1c30c authored by Edisson Andres Zurita Hidalgo's avatar Edisson Andres Zurita Hidalgo
Browse files

Praktikum02

parent cc3cdf19
No related branches found
No related tags found
1 merge request!3Praktikum02
# syntax=docker/dockerfile:1
## This would be a multistage docker deployment
## to reduce image size
## Build
FROM golang:1.19-buster AS build
WORKDIR /app
COPY go.mod ./
#COPY go.sum ./
RUN go mod download
COPY *.go ./
RUN go build -o /miniserver
## Deploy
FROM gcr.io/distroless/base-debian10
WORKDIR /
COPY --from=build /miniserver /miniserver
EXPOSE 20221
USER nonroot:nonroot
ENTRYPOINT ["/miniserver"]
##Aufgabe 2 - Primitiver Webserver
###b. Testen Sie Ihren Webserver - also das von Ihnen erstellte Programm - auf Ihrem Linux-Desktop-System. (Testen Sie ohne Docker, indem Sie einfach nur das Programm laufen lassen). Wie gehen Sie dabei vor?
In my case with go run miniserver.go, since I worked with 'golang'.
### d. Erzeugen Sie aus Ihrem Dockerfile ein Dockerimage miniserver mit dem Tag v1. Welches Kommando verwenden Sie hierfür?
```bash
docker build --tag miniserver:v1 .
```
### e. Lassen Sie mit docker run Ihren Webserver auf Ihrem Desktop-System unter dem Namen miniserver_20221 als Docker-Container an Port 20221 laufen. Wie lautet Ihr docker-run-Kommando?
```bash
docker run -p 20221:20221 miniserver:v1
```
module az/miniserver
go 1.19
package main
import (
"fmt"
"html"
"log"
"net/http"
)
func main() {
http.HandleFunc( "/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hallo Service Management winter term 2022. My name is Andres Z , %q", html.EscapeString(r.URL.Path))
})
http.HandleFunc("/Welcome Everybody!", func(w http.ResponseWriter, r *http.Request){
fmt.Fprintf(w, "Hi")
})
log.Fatal(http.ListenAndServe(":20221", nil))
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment