From c1012efff2bcbd4c5d3103a510815f3885a98457 Mon Sep 17 00:00:00 2001 From: 0xZensh Date: Fri, 22 Nov 2024 19:18:00 +0800 Subject: [PATCH] fix: fix Dockerfile --- nitro_enclave/amd64.Dockerfile | 31 ++++++++++++++++++++----------- nitro_enclave/arm64.Dockerfile | 31 ++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/nitro_enclave/amd64.Dockerfile b/nitro_enclave/amd64.Dockerfile index 29843b3..8712275 100644 --- a/nitro_enclave/amd64.Dockerfile +++ b/nitro_enclave/amd64.Dockerfile @@ -1,15 +1,8 @@ # base image -FROM --platform=amd64 rust:slim-bookworm AS builder +FROM --platform=linux/amd64 rust:slim-bookworm AS builder RUN apt-get update \ - && apt-get install -y gcc g++ libc6-dev pkg-config libssl-dev - -WORKDIR /src -COPY src ./src -COPY Cargo.toml Cargo.lock ./ -RUN cargo build --release --locked -p ic_tee_nitro_gateway - -FROM gcr.io/distroless/cc-debian12:debug AS runtime + && apt-get install -y gcc g++ libc6-dev pkg-config libssl-dev wget # working directory WORKDIR /app @@ -30,15 +23,31 @@ RUN chmod +x vsock-to-ip RUN wget -qO- https://github.com/AdguardTeam/dnsproxy/releases/download/v0.73.3/dnsproxy-linux-amd64-v0.73.3.tar.gz | tar xvz RUN mv linux-amd64/dnsproxy ./ && chmod +x dnsproxy +WORKDIR /build +COPY src ./src +COPY Cargo.toml Cargo.lock ./ +RUN cargo build --release --locked -p ic_tee_nitro_gateway + +FROM --platform=linux/amd64 debian:bookworm-slim AS runtime + +# install dependency tools +RUN apt-get update \ + && apt-get install -y net-tools iptables iproute2 ca-certificates tzdata openssl \ + && update-ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /app /app/ +# working directory +WORKDIR /app + # supervisord config COPY nitro_enclave/supervisord.conf /etc/supervisord.conf - # setup.sh script that will act as entrypoint COPY nitro_enclave/setup.sh ./ RUN chmod +x setup.sh # your custom setup goes here -COPY --from=builder /src/target/release/ic_tee_nitro_gateway ./ic_tee_nitro_gateway +COPY --from=builder /build/target/release/ic_tee_nitro_gateway ./ic_tee_nitro_gateway # entry point ENTRYPOINT [ "/app/setup.sh" ] \ No newline at end of file diff --git a/nitro_enclave/arm64.Dockerfile b/nitro_enclave/arm64.Dockerfile index 107f0ea..7aa12cc 100644 --- a/nitro_enclave/arm64.Dockerfile +++ b/nitro_enclave/arm64.Dockerfile @@ -1,15 +1,8 @@ # base image -FROM --platform=linux/amd64 rust:slim-bookworm AS builder +FROM --platform=linux/arm64 rust:slim-bookworm AS builder RUN apt-get update \ - && apt-get install -y gcc g++ libc6-dev pkg-config libssl-dev - -WORKDIR /src -COPY src ./src -COPY Cargo.toml Cargo.lock ./ -RUN cargo build --release --locked -p ic_tee_nitro_gateway - -FROM --platform=linux/amd64 gcr.io/distroless/cc-debian12:debug AS runtime + && apt-get install -y gcc g++ libc6-dev pkg-config libssl-dev wget # working directory WORKDIR /app @@ -30,15 +23,31 @@ RUN chmod +x vsock-to-ip RUN wget -qO- https://github.com/AdguardTeam/dnsproxy/releases/download/v0.73.3/dnsproxy-linux-arm64-v0.73.3.tar.gz | tar xvz RUN mv linux-arm64/dnsproxy ./ && chmod +x dnsproxy +WORKDIR /build +COPY src ./src +COPY Cargo.toml Cargo.lock ./ +RUN cargo build --release --locked -p ic_tee_nitro_gateway + +FROM --platform=linux/arm64 debian:bookworm-slim AS runtime + +# install dependency tools +RUN apt-get update \ + && apt-get install -y net-tools iptables iproute2 ca-certificates tzdata openssl \ + && update-ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /app /app/ +# working directory +WORKDIR /app + # supervisord config COPY nitro_enclave/supervisord.conf /etc/supervisord.conf - # setup.sh script that will act as entrypoint COPY nitro_enclave/setup.sh ./ RUN chmod +x setup.sh # your custom setup goes here -COPY --from=builder /src/target/release/ic_tee_nitro_gateway ./ic_tee_nitro_gateway +COPY --from=builder /build/target/release/ic_tee_nitro_gateway ./ic_tee_nitro_gateway # entry point ENTRYPOINT [ "/app/setup.sh" ]