From b3548eeb10a70fc6f43f44df82df79174c007f07 Mon Sep 17 00:00:00 2001 From: TommyLike Date: Wed, 30 Aug 2023 20:48:23 +0800 Subject: [PATCH] Use openeuler as docker builder image --- Makefile | 2 ++ docker/Dockerfile | 6 +++--- docker/Dockerfile.control-server | 6 +++--- docker/Dockerfile.data-server | 6 +++--- docker/Dockerfile.openeuler | 16 ++++++++++++++++ 5 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 docker/Dockerfile.openeuler diff --git a/Makefile b/Makefile index 5637a05..f33af13 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,8 @@ db: redis init: ./scripts/initialize-user-and-keys.sh +builder-image: + docker build -t tommylike/signatrust-builder:$(GIT_COMMIT) -f docker/Dockerfile.openeuler . client-image: docker build -t tommylike/signatrust-client:$(GIT_COMMIT) --build-arg BINARY=client -f docker/Dockerfile . diff --git a/docker/Dockerfile b/docker/Dockerfile index 9e35769..0c29267 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,11 +1,11 @@ -FROM clux/muslrust:nightly as builder +FROM tommylike/signatrust-builder:0.0.1 as builder ARG BINARY LABEL Author=TommyLike WORKDIR /app COPY .. /app -RUN rustup target add x86_64-unknown-linux-musl && cargo build --release --bin $BINARY --target x86_64-unknown-linux-musl +RUN cargo build --release --bin $BINARY FROM openeuler/openeuler:22.03 ARG USERNAME=signatrust @@ -21,7 +21,7 @@ RUN yum install -y shadow && groupadd --gid $USER_GID $USERNAME \ USER $USERNAME WORKDIR /app -COPY --from=builder --chown=$USER_UID:$USER_GID /app/target/x86_64-unknown-linux-musl/release/$BINARY /app +COPY --from=builder --chown=$USER_UID:$USER_GID /app/target/release/$BINARY /app COPY --chown=$USER_UID:$USER_GID $CONFIG /app/config/ ENTRYPOINT /app/$(echo $BINARY) diff --git a/docker/Dockerfile.control-server b/docker/Dockerfile.control-server index 26e4e24..f247cf7 100644 --- a/docker/Dockerfile.control-server +++ b/docker/Dockerfile.control-server @@ -1,11 +1,11 @@ -FROM clux/muslrust:nightly as builder +FROM tommylike/signatrust-builder:0.0.1 as builder ARG BINARY LABEL Author=TommyLike WORKDIR /app COPY .. /app -RUN rustup target add x86_64-unknown-linux-musl && cargo build --release --bin $BINARY --target x86_64-unknown-linux-musl +RUN cargo build --release --bin $BINARY #The sql-cli@0.7.1 binary is pre-build with dockerfile `Dockerfile.sqlx-cli`. FROM tommylike/sqlx-cli:0.7.1 as sqlx-cli @@ -24,7 +24,7 @@ RUN yum install -y shadow && groupadd --gid $USER_GID $USERNAME \ USER $USERNAME WORKDIR /app -COPY --from=builder --chown=$USER_UID:$USER_GID /app/target/x86_64-unknown-linux-musl/release/$BINARY /app +COPY --from=builder --chown=$USER_UID:$USER_GID /app/target/release/$BINARY /app COPY --from=sqlx-cli --chown=$USER_UID:$USER_GID /app/bin/sqlx /app COPY --chown=$USER_UID:$USER_GID $CONFIG /app/config/ COPY --chown=$USER_UID:$USER_GID ../migrations /app/migrations diff --git a/docker/Dockerfile.data-server b/docker/Dockerfile.data-server index ed12c66..838150b 100644 --- a/docker/Dockerfile.data-server +++ b/docker/Dockerfile.data-server @@ -1,10 +1,10 @@ -FROM clux/muslrust:nightly as builder +FROM tommylike/signatrust-builder:0.0.1 as builder ARG BINARY LABEL Author=TommyLike WORKDIR /app COPY .. /app -RUN rustup target add x86_64-unknown-linux-musl && cargo build --release --bin $BINARY --target x86_64-unknown-linux-musl +RUN cargo build --release --bin $BINARY FROM openeuler/openeuler:22.03 ARG USERNAME=signatrust @@ -23,7 +23,7 @@ CMD chmod +x /app/grpc_health_probe USER $USERNAME WORKDIR /app -COPY --from=builder --chown=$USER_UID:$USER_GID /app/target/x86_64-unknown-linux-musl/release/$BINARY /app +COPY --from=builder --chown=$USER_UID:$USER_GID /app/target/release/$BINARY /app COPY --chown=$USER_UID:$USER_GID $CONFIG /app/config/ ENTRYPOINT /app/$(echo $BINARY) diff --git a/docker/Dockerfile.openeuler b/docker/Dockerfile.openeuler new file mode 100644 index 0000000..e996366 --- /dev/null +++ b/docker/Dockerfile.openeuler @@ -0,0 +1,16 @@ +FROM openeuler/openeuler:22.03 +LABEL Author=TommyLike + +# Install requirements +RUN yum -y update && yum install -y openssl-devel openssl protobuf-compiler gcc +RUN curl -sSL https://mirrors.ustc.edu.cn/misc/rustup-install.sh -sSf | sh -s -- -y --default-toolchain nightly -c rust-std -c rust-src +RUN echo $'\n\ +[source.crates-io] \n\ +replace-with = "mirror" \n\ +[source.mirror] \n\ +registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"' >> /root/.cargo/config + +ENV PATH="/root/.cargo/bin:$PATH" +ENV RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup +ENV RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup +ENTRYPOINT ["/usr/bin/bash"] -- Gitee