-
Notifications
You must be signed in to change notification settings - Fork 37
/
Dockerfile-singleton-GSE
45 lines (35 loc) · 1.49 KB
/
Dockerfile-singleton-GSE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 由于在环境准备步骤中,buildx 在 qemu-arm64 下执行速度太慢
# 因此日常镜像构建由半成品镜像开始打包,以提高效率
FROM registry.jiagouyun.com/middlewares/dataflux-func:base-gse
MAINTAINER Yiling Zhou <[email protected]>
ARG TARGETARCH
ENV TARGETARCH ${TARGETARCH}
ENV PYTHONPATH="$PYTHONPATH:/usr/src/app"
# 构建项目
# 由于 buildx 在 qemu-arm64 下执行 npm run build 速度太慢
# 因此改为本机执行 npm run build,并把 dist 目录也提交到 git 库中,不再由服务器进行构建
# 因此只需要拷贝构建后的内容即可
WORKDIR /usr/src/app
COPY . .
RUN wget https://urls.guance.com/ --no-use-server-timestamps -O /usr/src/app/guance-node-urls.json && \
ln -s /usr/src/base/node_modules ./node_modules && \
ln -s /usr/src/base/client/node_modules ./client/node_modules
# 删除第三方包中多余内容
RUN find /usr/src -name ".travis.yml" -type f -exec rm -f {} \; && \
find /usr/src -name '.coveralls.yml' -type f -exec rm -f {} \;
# 准备非 root 用户/组
RUN groupadd -r -g 1000 guance && \
useradd -r -g guance -u 1000 -s /sbin/nologin guance && \
mkdir -p /usr/src && chown -R guance:guance /usr/src && \
mkdir -p /data && chown -R guance:guance /data
# 启动脚本
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
# 参考
# 启动 Web 服务器
# EXPOSE 8088
# CMD ./run-server.sh
# 启动 Worker 进程
# CMD ./run-worker.sh
# 启动 Beat 进程
# CMD ./run-beat.sh