11# build sqld
22FROM rust:slim-bullseye AS chef
3- RUN apt update \
4- && apt install -y libclang-dev clang \
5- build-essential tcl protobuf-compiler file \
6- libssl-dev pkg-config git\
7- && apt clean \
8- && cargo install cargo-chef
3+
4+ RUN apt update
5+ RUN apt install -y libclang-dev clang \
6+ build-essential tcl protobuf-compiler file \
7+ libssl-dev pkg-config git
8+ RUN apt clean
9+
910# We need to install and set as default the toolchain specified in rust-toolchain.toml
1011# Otherwise cargo-chef will build dependencies using wrong toolchain
1112# This also prevents planner and builder steps from installing the toolchain over and over again
1213COPY rust-toolchain.toml rust-toolchain.toml
13- RUN cat rust-toolchain.toml | grep "channel" | awk '{print $3}' | sed 's/\" //g' > toolchain.txt \
14- && rustup update $(cat toolchain.txt) \
15- && rustup default $(cat toolchain.txt) \
16- && rm toolchain.txt rust-toolchain.toml
14+ RUN cat rust-toolchain.toml | grep "channel" | awk '{print $3}' | sed 's/\" //g' > toolchain.txt; \
15+ rustup update $(cat toolchain.txt); \
16+ rustup default $(cat toolchain.txt); \
17+ rm toolchain.txt rust-toolchain.toml;
18+
19+ RUN cargo install cargo-chef
1720
1821FROM chef AS planner
1922COPY . .
@@ -27,14 +30,19 @@ RUN cargo build -p sqld --release
2730
2831# runtime
2932FROM debian:bullseye-slim
30- COPY --from=builder /target/release/sqld /bin/sqld
33+
34+ EXPOSE 5001 8080
35+ VOLUME [ "/var/lib/sqld" ]
36+
3137RUN groupadd --system --gid 666 sqld
3238RUN adduser --system --home /var/lib/sqld --uid 666 --gid 666 sqld
33- RUN apt-get update && apt-get install -y ca-certificates
34- COPY docker-entrypoint.sh /usr/local/bin
35- ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh" ]
36- VOLUME [ "/var/lib/sqld" ]
3739WORKDIR /var/lib/sqld
3840USER sqld
39- EXPOSE 5001 8080
41+
42+ COPY docker-entrypoint.sh /usr/local/bin
43+
44+ COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
45+ COPY --from=builder /target/release/sqld /bin/sqld
46+
47+ ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh" ]
4048CMD ["/bin/sqld" ]
0 commit comments