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
|
FROM golang:1.15 AS build
|
||||||
|
|
||||||
WORKDIR /opt/ferry
|
WORKDIR /opt/workflow/ferry
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
ARG GOPROXY="https://goproxy.cn"
|
ARG GOPROXY="https://goproxy.cn"
|
||||||
|
|
||||||
RUN go mod download
|
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 --from=build /opt/workflow/ferry/ferry /opt/workflow/ferry/
|
||||||
COPY config/ /opt/ferry/default_config/
|
COPY config/ /opt/workflow/ferry/default_config/
|
||||||
COPY template/ /opt/ferry/template/
|
COPY template/ /opt/workflow/ferry/template/
|
||||||
COPY docker/entrypoint.sh /opt/ferry/
|
COPY docker/entrypoint.sh /opt/workflow/ferry/
|
||||||
RUN mkdir -p logs static/uploadfile static/scripts static/template
|
RUN mkdir -p logs static/uploadfile static/scripts static/template
|
||||||
|
|
||||||
RUN chmod 755 /opt/ferry/entrypoint.sh
|
RUN chmod 755 /opt/workflow/ferry/entrypoint.sh
|
||||||
RUN chmod 755 /opt/ferry/ferry
|
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
|
EXPOSE 8002
|
||||||
VOLUME [ "/opt/ferry/config" ]
|
VOLUME [ "/opt/workflow/ferry/config" ]
|
||||||
ENTRYPOINT [ "/opt/ferry/entrypoint.sh" ]
|
ENTRYPOINT [ "/opt/workflow/ferry/entrypoint.sh" ]
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
if [[ ! -f /opt/ferry/config/settings.yml ]]
|
if [[ ! -f /opt/workflow/ferry/config/settings.yml ]]
|
||||||
then
|
then
|
||||||
cp /opt/ferry/default_config/* /opt/ferry/config/
|
cp /opt/workflow/ferry/default_config/* /opt/workflow/ferry/config/
|
||||||
fi
|
fi
|
||||||
if [[ -f /opt/ferry/config/needinit ]]
|
if [[ -f /opt/workflow/ferry/config/needinit ]]
|
||||||
then
|
then
|
||||||
/opt/ferry/ferry init -c=/opt/ferry/config/settings.yml
|
/opt/workflow/ferry/ferry init -c=/opt/workflow/ferry/config/settings.yml
|
||||||
rm -f /opt/ferry/config/needinit
|
rm -f /opt/workflow/ferry/config/needinit
|
||||||
fi
|
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