generated from emo-crab/rust-template
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
DockerfileHelper
23 lines (21 loc) · 904 Bytes
/
DockerfileHelper
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
FROM rust:latest AS helper
WORKDIR /prod
#为了命中docker构建缓存,先拷贝这几个文件进去
RUN --mount=type=cache,target=/var/lib/cache/ apt-get update &&\
apt-get install -y --no-install-recommends gcc-multilib xz-utils liblz4-tool libc6-dev libssl-dev default-libmysqlclient-dev pkg-config musl-tools patchelf build-essential zlib1g-dev ca-certificates
COPY .cargo .cargo
COPY helper/Cargo.toml Cargo.toml
COPY nvd-model/ /nvd-model
COPY cnvd/ /cnvd
RUN cargo fetch
COPY helper/src src
RUN cargo build --release
# Use any runner as you want
# But beware that some images have old glibc which makes rust unhappy
FROM debian:latest AS runner
WORKDIR /prod
ENV TZ=Asia/Shanghai
RUN apt-get update &&\
apt-get install -y --no-install-recommends libssl-dev default-libmysqlclient-dev ca-certificates
COPY --from=helper /prod/target/release/helper /prod
ENTRYPOINT [ "/prod/helper" ]