add docker support

This commit is contained in:
MaysWind
2020-10-17 22:20:51 +08:00
parent 90b06cb14b
commit fe361df470
3 changed files with 59 additions and 0 deletions
+20
View File
@@ -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"]
+11
View File
@@ -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} .
+28
View File
@@ -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};