diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f9d8e2e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM golang:latest + +RUN apt update -y && apt install -y git apache2 supervisor + +COPY src /src/testserver + +WORKDIR /src/testserver + +RUN cd testserver && go build -v -i && cp server /usr/local/bin + +EXPOSE 8081 + +CMD ["server"] \ No newline at end of file diff --git a/src/go.mod b/src/go.mod new file mode 100644 index 0000000..b0df007 --- /dev/null +++ b/src/go.mod @@ -0,0 +1,3 @@ +module example/server + +go 1.17 diff --git a/src/server b/src/server new file mode 100755 index 0000000..9231ffb Binary files /dev/null and b/src/server differ diff --git a/src/server.go b/src/server.go new file mode 100644 index 0000000..37b8a70 --- /dev/null +++ b/src/server.go @@ -0,0 +1,22 @@ +package main + +import ( + "fmt" + "html" + "log" + "net/http" +) + +func main() { + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) + }) + + http.HandleFunc("/hi", func(w http.ResponseWriter, r *http.Request){ + fmt.Fprintf(w, "Hi") + }) + + log.Fatal(http.ListenAndServe(":8081", nil)) + +}