version: '3'
services:
gocron:
container_name: gocron
image: chaiyd/gocron:v1.5.3
ports:
- "5920:5920"
depends_on:
- mysql
volumes:
- gocron-conf:/app/conf
- gocron-log:/app/log
restart: always
mysql:
image: mysql:5.7
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: u2poZvkRbx
MYSQL_DATABASE: gocorn
MYSQL_USER: gocorn
MYSQL_PASSWORD: u2poZvkRbx
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- mysql-data:/var/lib/mysql
volumes:
gocron-conf:
gocron-log:
mysql-data:
FROM golang:1.15-alpine as builder
RUN apk update \
&& apk add --no-cache git ca-certificates make bash yarn nodejs
RUN go env -w GO111MODULE=on && \
go env -w GOPROXY=https://goproxy.cn,direct
WORKDIR /app
RUN git clone https://github.com/ouqiang/gocron.git \
&& cd gocron \
&& yarn config set ignore-engines true \
&& make install-vue \
&& make build-vue \
&& make statik \
&& CGO_ENABLED=0 make gocron
FROM alpine:3.12
RUN apk add --no-cache ca-certificates tzdata \
&& addgroup -S app \
&& adduser -S -g app app
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
WORKDIR /app
COPY --from=builder /app/gocron/bin/gocron .
RUN chown -R app:app ./
EXPOSE 5920
#USER app
ENTRYPOINT ["/app/gocron", "web"]

Content type
Image
Digest
Size
22.5 MB
Last updated
almost 6 years ago
docker pull chaiyd/gocron:v1.5.3