add docker support
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
|||||||
|
# Build binary release
|
||||||
|
FROM golang:1.14.10-alpine3.12 AS builder
|
||||||
|
RUN apk add gcc g++ libc-dev
|
||||||
|
WORKDIR /go/src/github.com/mayswind/lab
|
||||||
|
COPY . .
|
||||||
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -a -v -i -trimpath -o lab lab.go
|
||||||
|
|
||||||
|
# Package docker image
|
||||||
|
FROM alpine:3.12.0
|
||||||
|
RUN addgroup -S -g 1000 labapp && adduser -S -G labapp -u 1000 labapp
|
||||||
|
RUN apk --no-cache add su-exec tzdata
|
||||||
|
COPY --from=builder /go/src/github.com/mayswind/lab/lab /usr/local/bin/labapp/lab
|
||||||
|
RUN chmod +x /usr/local/bin/labapp/lab
|
||||||
|
COPY conf /usr/local/bin/labapp/conf
|
||||||
|
COPY public /usr/local/bin/labapp/public
|
||||||
|
WORKDIR /usr/local/bin/labapp
|
||||||
|
COPY docker/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
EXPOSE 8080
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
Executable
+11
@@ -0,0 +1,11 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
mode=$1;
|
||||||
|
version=`grep "const LAB_VERSION" lab.go | awk -F '=' '{print $2}' | tr -d ' ' | tr -d '"'`;
|
||||||
|
|
||||||
|
if [ "$mode" == "--snapshot" ]; then
|
||||||
|
version="SNAPSHOT-"`date "+%Y%m%d"`;
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Building docker image...";
|
||||||
|
docker build -t lab:${version} .
|
||||||
Executable
+28
@@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e;
|
||||||
|
export LAB_USER=labapp;
|
||||||
|
export LAB_GROUP=labapp;
|
||||||
|
|
||||||
|
prepare_directories() {
|
||||||
|
local log_path="/var/log/labapp";
|
||||||
|
|
||||||
|
if [ "${LAB_LOG_PATH}" != "" ]; then
|
||||||
|
log_path="${LAB_LOG_PATH}";
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${log_path}" ]; then
|
||||||
|
mkdir ${log_path};
|
||||||
|
chown ${LAB_USER}:${LAB_GROUP} -R ${log_path};
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare_directories;
|
||||||
|
|
||||||
|
conf_path_param="";
|
||||||
|
|
||||||
|
if [ "${LAB_CONF_PATH}" != "" ]; then
|
||||||
|
conf_path_param="--conf-path=${LAB_CONF_PATH}";
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec su-exec ${LAB_USER} /usr/local/bin/labapp/lab server run ${conf_path_param};
|
||||||
Reference in New Issue
Block a user