feat(build):完成Docker镜像的编译配置和构建。

This commit is contained in:
徐涛
2024-04-07 22:26:39 +08:00
parent 9b9d222546
commit f4edb07629
4 changed files with 5 additions and 14 deletions

47
Dockerfile Normal file
View File

@@ -0,0 +1,47 @@
FROM rust:1.77-bullseye AS builder
ADD sources.list /etc/apt/
RUN apt-get update && apt-get install -y \
libc6-dev \
libclang-dev \
pkg-config \
libssl-dev
ADD crates.conf /root/.cargo/config
RUN USER=root cargo new --bin license_service
ADD ./cert_lib /cert_lib
WORKDIR /license_service
COPY ./license_server/Cargo.toml ./Cargo.toml
RUN cargo build --release && rm src/*.rs target/release/deps/license_server*
ADD ./license_server/src ./src
RUN cargo build --release
FROM debian:bullseye-slim AS deployer
ADD sources.list /etc/apt/
RUN apt-get update && \
apt-get install -y ca-certificates tzdata && \
rm -rf /var/lib/apt/lists/*
EXPOSE 8080
ENV TZ=Asia/Shanghai \
APP_USER=license_usr
RUN groupadd service && \
useradd -g service $APP_USER && \
mkdir -p /license_service
COPY --from=builder /license_service/target/release/license_server /license_service/license_server
RUN chown -R $APP_USER:service /license_service
USER $APP_USER
WORKDIR /license_service
VOLUME ["/license_service/license.key", "/license_service/license.pem", "/license_service/netfilter.zip", "/license_service/products.json"]
CMD ["./license_server"]