diff --git a/Makefile b/Makefile index 5637a058dc270b576ec82414744e7b0b6fb18ea1..f33af13a26a3ba22b58c4b0cc1770e2464b77353 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 9e35769a1e0be5cccf8ba64a4444e4cb55cea4e3..0c29267fd96dadba20a03fb145dae669ae92eeaa 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 26e4e24b7219235b1617658eb5c44775baf19c38..f247cf7caf827ce17c1a3b212d669931695af411 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 ed12c66a9a1192efcd924fe52a44fcf582d252f1..838150b4daa279c3546356ae110d341c3e9ed8cc 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 0000000000000000000000000000000000000000..e9963665a87d9a2b084b9771595e7a31152dcd36 --- /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"]