48 lines
1.1 KiB
Docker
48 lines
1.1 KiB
Docker
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"]
|