Dockerfile

FROM portainer/portainer-ce:lts AS base
FROM alpine:latest AS builder
RUN mkdir -p /public
COPY --from=base /public/index.html /public/index.html

RUN sed -i -E \
	-e 's|(<script[^>]+src=")main\.[^"]+\.js(")|\1main.5c139f34c1c1db14b9d9.js\2|g' \
	-e 's|(<link[^>]+href=")main\.[^"]+\.css(")|\1main.73e3679ce27297e7c3f7.css\2|g' \
	-e 's|(<script[^>]+src=")vendor\.[^"]+\.js(")|\1vendor.b2f1dbb3d59345918018.js\2|g' \
	-e 's|(<link[^>]+href=")vendor\.[^"]+\.css(")|\1vendor.3400914314d4794add38.css\2|g' \
	-e 's|(<script[^>]+src=")runtime\.[^"]+\.js(")|\1runtime.126c90c4663588b8c254.js\2|g' \
	/public/index.html

FROM base

LABEL org.opencontainers.image.authors="xian.yuheng"
LABEL [email protected]

COPY --from=builder /public/index.html /public/index.html
COPY src/main.5c139f34c1c1db14b9d9.js /public/
COPY src/main.73e3679ce27297e7c3f7.css /public/
COPY src/vendor.b2f1dbb3d59345918018.js /public/
COPY src/vendor.3400914314d4794add38.css /public/
COPY src/runtime.126c90c4663588b8c254.js /public/

说明

最关键的就是那五个 jscss

来源 该项目有直接的 docker 镜像 地址,不过它似乎改了整个 /public 目录

我希望最小化改动,所以重写了 Dockerfile 文件

仅需提取其中的 jscss 文件放在 Dockerfile 同目录下的 src 文件夹里

对应改动 Dockerfile 中的文件名就好了

我的该项目 gitea 地址