From c2069e0796631c269099efc49a94a77576467a85 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Sat, 16 Dec 2017 00:17:29 +0100 Subject: [PATCH] Added Dockerfile Healthcheck (fix: #63) --- Dockerfile.amd64 | 4 +++- Dockerfile.arm | 4 +++- Makefile | 16 +++++++++------- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Dockerfile.amd64 b/Dockerfile.amd64 index df7dbc2..bc04f67 100644 --- a/Dockerfile.amd64 +++ b/Dockerfile.amd64 @@ -4,7 +4,7 @@ LABEL maintainer="Max Schmitt " LABEL readme.md="https://github.com/maxibanki/golang-url-shortener/blob/master/README.md" LABEL description="This Dockerfile will install the Golang URL Shortener." -RUN apk update && apk add ca-certificates +RUN apk update && apk add ca-certificates curl EXPOSE 8080 @@ -12,4 +12,6 @@ COPY docker_releases/golang-url-shortener_linux_amd64/golang-url-shortener / VOLUME ["/data"] +HEALTHCHECK --interval=30s CMD curl -f http://127.0.0.1:8080/api/v1/info || exit 1 + CMD ["/golang-url-shortener"] diff --git a/Dockerfile.arm b/Dockerfile.arm index 91c9957..7e07565 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -4,7 +4,7 @@ LABEL maintainer="Max Schmitt " LABEL readme.md="https://github.com/maxibanki/golang-url-shortener/blob/master/README.md" LABEL description="This Dockerfile will install the Golang URL Shortener." -RUN apk update && apk add ca-certificates +RUN apk update && apk add ca-certificates curl EXPOSE 8080 @@ -12,4 +12,6 @@ COPY docker_releases/golang-url-shortener_linux_arm/golang-url-shortener / VOLUME ["/data"] +HEALTHCHECK --interval=30s CMD curl -f http://127.0.0.1:8080/api/v1/info || exit 1 + CMD ["/golang-url-shortener"] diff --git a/Makefile b/Makefile index 7dac2be..dcf83ef 100644 --- a/Makefile +++ b/Makefile @@ -4,13 +4,13 @@ runUnitTests: go test -v ./... buildNodeFrontend: - @cd static && yarn install - @cd static && yarn build - @cd static && rm build/static/**/*.map + cd static && yarn install + cd static && yarn build + cd static && rm build/static/**/*.map embedFrontend: - @cd handlers/tmpls && esc -o tmpls.go -pkg tmpls -include ^*\.html . - @cd handlers && esc -o static.go -pkg handlers -prefix ../static/build ../static/build + cd handlers/tmpls && esc -o tmpls.go -pkg tmpls -include ^*\.html . + cd handlers && esc -o static.go -pkg handlers -prefix ../static/build ../static/build bash build/info.sh getCMDDependencies: @@ -22,13 +22,15 @@ getGoDependencies: go get -v ./... buildProject: - @mkdir releases + rm -rf releases + mkdir releases gox -output="releases/{{.Dir}}_{{.OS}}_{{.Arch}}/{{.Dir}}" -osarch="linux/amd64 linux/arm windows/amd64 windows/386" find releases -maxdepth 1 -mindepth 1 -type d -exec cp build/config.yaml {} \; find releases -maxdepth 1 -mindepth 1 -type d -exec tar -cvjf {}.tar.bz2 {} \; buildDockerImage: - @mkdir docker_releases + rm -rf docker_releases + mkdir docker_releases CGO_ENABLED=0 gox -output="docker_releases/{{.Dir}}_{{.OS}}_{{.Arch}}/{{.Dir}}" -osarch="linux/amd64 linux/arm" docker build -t maxibanki/golang_url_shortener:arm -f Dockerfile.arm . docker build -t maxibanki/golang_url_shortener -f Dockerfile.amd64 . \ No newline at end of file