sandbox-agent/docker/release/linux-x86_64.Dockerfile
2026-01-27 17:56:55 -08:00

42 lines
1.2 KiB
Docker

# syntax=docker/dockerfile:1.10.0
FROM rust:1.91.0 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && \
apt-get install -y \
musl-tools \
musl-dev \
pkg-config \
ca-certificates \
git \
perl \
make && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Build OpenSSL for musl target
RUN curl -sL https://www.openssl.org/source/openssl-3.2.0.tar.gz | tar xz && \
cd openssl-3.2.0 && \
CC=musl-gcc ./Configure no-shared no-async --prefix=/usr/local/musl linux-x86_64 && \
make -j$(nproc) && \
make install_sw && \
cd .. && rm -rf openssl-3.2.0
RUN rustup target add x86_64-unknown-linux-musl
ENV OPENSSL_DIR=/usr/local/musl \
OPENSSL_STATIC=1 \
PKG_CONFIG_ALLOW_CROSS=1
WORKDIR /build
COPY . .
RUN --mount=type=cache,target=/usr/local/cargo/registry \
--mount=type=cache,target=/usr/local/cargo/git \
--mount=type=cache,target=/build/target \
RUSTFLAGS="-C target-feature=+crt-static" \
cargo build -p sandbox-agent --release --target x86_64-unknown-linux-musl && \
mkdir -p /artifacts && \
cp target/x86_64-unknown-linux-musl/release/sandbox-agent /artifacts/sandbox-agent-x86_64-unknown-linux-musl
CMD ["ls", "-la", "/artifacts"]