fix: 简化Docker部署方式。
This commit is contained in:
parent
51d8fd4161
commit
7051ae7a99
55
Dockerfile
55
Dockerfile
@ -1,28 +1,53 @@
|
||||
FROM node:14.18-alpine as web
|
||||
|
||||
WORKDIR /opt/workflow
|
||||
|
||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
|
||||
RUN apk update && \
|
||||
apk add --no-cache git && \
|
||||
rm -rf /var/cache/apk/* /tmp/* /var/tmp/* $HOME/.cache
|
||||
RUN git clone https://gitee.com/yllan/ferry_web.git
|
||||
|
||||
WORKDIR ferry_web
|
||||
|
||||
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||||
RUN cnpm install
|
||||
RUN echo $'# just a flag\n\
|
||||
ENV = \'production\'\n\n\
|
||||
# base api\n\
|
||||
VUE_APP_BASE_API = \'\''\
|
||||
> .env.production
|
||||
RUN npm run build:prod
|
||||
|
||||
FROM golang:1.15 AS build
|
||||
|
||||
WORKDIR /opt/ferry
|
||||
|
||||
WORKDIR /opt/workflow/ferry
|
||||
COPY . .
|
||||
|
||||
ARG GOPROXY="https://goproxy.cn"
|
||||
|
||||
RUN go mod download
|
||||
RUN go build -o ferry .
|
||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o ferry .
|
||||
|
||||
FROM alpine AS prod
|
||||
|
||||
FROM debian:buster AS prod
|
||||
MAINTAINER lanyulei
|
||||
|
||||
WORKDIR /opt/ferry
|
||||
WORKDIR /opt/workflow/ferry
|
||||
|
||||
COPY --from=build /opt/ferry/ferry /opt/ferry/
|
||||
COPY config/ /opt/ferry/default_config/
|
||||
COPY template/ /opt/ferry/template/
|
||||
COPY docker/entrypoint.sh /opt/ferry/
|
||||
COPY --from=build /opt/workflow/ferry/ferry /opt/workflow/ferry/
|
||||
COPY config/ /opt/workflow/ferry/default_config/
|
||||
COPY template/ /opt/workflow/ferry/template/
|
||||
COPY docker/entrypoint.sh /opt/workflow/ferry/
|
||||
RUN mkdir -p logs static/uploadfile static/scripts static/template
|
||||
|
||||
RUN chmod 755 /opt/ferry/entrypoint.sh
|
||||
RUN chmod 755 /opt/ferry/ferry
|
||||
RUN chmod 755 /opt/workflow/ferry/entrypoint.sh
|
||||
RUN chmod 755 /opt/workflow/ferry/ferry
|
||||
|
||||
COPY --from=web /opt/workflow/ferry_web/web /opt/workflow/ferry/static/web
|
||||
COPY --from=web /opt/workflow/ferry_web/web/index.html /opt/workflow/ferry/template/web/
|
||||
|
||||
RUN mv /opt/workflow/ferry/static/web/static/web/* /opt/workflow/ferry/static/web/
|
||||
RUN rm -rf /opt/workflow/ferry/static/web/static
|
||||
|
||||
EXPOSE 8002
|
||||
VOLUME [ "/opt/ferry/config" ]
|
||||
ENTRYPOINT [ "/opt/ferry/entrypoint.sh" ]
|
||||
VOLUME [ "/opt/workflow/ferry/config" ]
|
||||
ENTRYPOINT [ "/opt/workflow/ferry/entrypoint.sh" ]
|
||||
|
@ -1,12 +1,12 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
set -e
|
||||
if [[ ! -f /opt/ferry/config/settings.yml ]]
|
||||
if [[ ! -f /opt/workflow/ferry/config/settings.yml ]]
|
||||
then
|
||||
cp /opt/ferry/default_config/* /opt/ferry/config/
|
||||
cp /opt/workflow/ferry/default_config/* /opt/workflow/ferry/config/
|
||||
fi
|
||||
if [[ -f /opt/ferry/config/needinit ]]
|
||||
if [[ -f /opt/workflow/ferry/config/needinit ]]
|
||||
then
|
||||
/opt/ferry/ferry init -c=/opt/ferry/config/settings.yml
|
||||
rm -f /opt/ferry/config/needinit
|
||||
/opt/workflow/ferry/ferry init -c=/opt/workflow/ferry/config/settings.yml
|
||||
rm -f /opt/workflow/ferry/config/needinit
|
||||
fi
|
||||
/opt/ferry/ferry server -c=/opt/ferry/config/settings.yml
|
||||
/opt/workflow/ferry/ferry server -c=/opt/workflow/ferry/config/settings.yml
|
||||
|
Loading…
x
Reference in New Issue
Block a user