# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
# Ignore git and artifacts .git target **/target Cargo.lock .CI .node_modules .nuget *.log *.tmp .DS_Store
- Exact error message and exit code - E: Unable to locate package libssl3 - exit code: 100 - Failing command/step - Dockerfile step: RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libssl3 && rm -rf /var/lib/apt/lists/* - Corresponding build step: [runtime 2/4] (Dockerfile: line 27) - Missing packages or files mentioned - libssl3 (not found in the apt repositories) - ca-certificates is attempted to install but the failure is due to libssl3 - Version mismatch / environment context - Base images involved: Debian bullseye-slim (runtime) and rust:1.92.0-bullseye (builder) - Issue indicates libssl3 is unavailable in the Debian bullseye repos used by this build (likely a package availability mismatch for the libssl3 package in this Bullseye environment).
# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
Build timed out after 600s
# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
libcrypto3 \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
Summary (under 1500 chars): - Failing command/step: [runtime 2/4] RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libssl3 libcrypto3 && rm -rf /var/lib/apt/lists/* - Exact error message(s) and exit code: - E: Unable to locate package libssl3 - E: Unable to locate package libcrypto3 - The build reports: ERROR: failed to build: failed to solve: process "/bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates libssl3 libcrypto3 && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100 - Missing packages or files mentioned: - libssl3 - libcrypto3 - Version mismatch / environment info: - Base images involved: debian:bullseye-slim (sha256:95a3884fee36b8f33bf32a6bbffa8dffe6cab6089b841cec45fb47c581a2709d) and rust:1.92.0-bullseye - The failure occurs when installing runtime libraries on bullseye-slim, suggesting libssl3/libcrypto3 are not available in this image's apt repositories (not found in this context).
# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
Build timed out after 600s
# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl1.1 \
libcrypto1.1 \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
- VerifyBuild status: build_failed
- Concerns
- COPY . . copies the entire repository; suggest adding a .dockerignore to exclude tests, docs, large cache dirs to speed up builds and reduce image size
- Relies on workspace binary named nu emitted at target/release/nu; if workspace changes the binary name/path, the COPY from=builder step may fail
- Build error
- Failing step (command): Runtime step 2/4 - RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libssl1.1 libcrypto1.1 && rm -rf /var/lib/apt/lists/*
- Exact error messages:
- E: Unable to locate package libcrypto1.1
- E: Couldn't find any package by glob 'libcrypto1.1'
- E: Couldn't find any package by regex 'libcrypto1.1'
- Dockerfile context:
- Dockerfile:27
- Command snippet:
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl1.1 \
libcrypto1.1 \
&& rm -rf /var/lib/apt/lists/*
- Build failure detail: ERROR: failed to build: failed to solve: process "/bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates libssl1.1 libcrypto1.1 && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100
- Missing packages/files
- libcrypto1.1 (package not found); errors indicate glob/regex lookups for libcrypto1.1 also failed
- Version/environment context
- Runtime base: Debian bullseye-slim
- Builder: rust:1.92.0-bullseye
- Issue implication: libcrypto1.1 is not available in the bullseye-slim apt repositories used by this runtime image
- Summary: build failed during apt-get install of libcrypto1.1 (not found) on a Debian bullseye-slim base; related to Dockerfile step RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates libssl1.1 libcrypto1.1.# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
Build timed out after 600s
# Multi-stage build for Nushell
FROM rust:1.92.0-bullseye AS builder
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src
# Copy the entire repository and build
COPY . .
# Build Nushell in release mode
RUN cargo build --workspace --release
# Runtime image
FROM debian:bookworm-slim AS runtime
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /usr/src/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
Build timed out after 600s
# Multi-stage build for Nushell, building only the nu package to speed up
FROM rust:1.92.0-bullseye AS builder
# Install essential build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Copy only Cargo metadata first to leverage caching, then the rest
COPY Cargo.toml Cargo.lock ./
COPY crates crates
COPY . .
# Build only the nu package in release mode to speed up CI
RUN cargo build -p nu --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies (minimal)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /workspace/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
- Exact error message and exit code: - ERROR: failed to build: failed to solve: failed to compute cache key: failed to calculate checksum of ref dm0crafjnw8l43ifl6uhde0ck::sz1sb0rv5d43xbln0ho38rujv: "/Cargo.lock": not found - (No explicit numeric exit code shown in the log) - Failing command/step: - [builder 4/7] COPY Cargo.toml Cargo.lock ./ - Missing packages or files mentioned: - "/Cargo.lock": not found - Warning indicates Cargo.lock is excluded by .dockerignore (line 18): CopyIgnoredFile: Attempting to Copy file "Cargo.lock" that is excluded by .dockerignore (line 18) - Version mismatch info: - Base images used: rust:1.92.0-bullseye and debian:bullseye-slim - No version mismatch reported in the log; digests are present but not indicating a mismatch.
# Multi-stage build for Nushell, building only the nu package to speed up
FROM rust:1.92.0-bullseye AS builder
# Install essential build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Copy manifests and crates first to leverage caching, exclude Cargo.lock if present
COPY Cargo.toml ./
COPY crates ./crates
# Copy the rest of the repository
COPY . .
# Build only the nu crate in release mode to speed up CI
RUN cargo build -p nu --release
# Runtime image
FROM debian:bullseye-slim AS runtime
# Install runtime dependencies (minimal)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /workspace/target/release/nu /usr/local/bin/nu
# Ensure binary is executable
RUN chmod +x /usr/local/bin/nu
# Default command
CMD ["nu"]
Build timed out after 600s
# Multi-stage Dockerfile to build Nushell from source and run the binary
# 1) Builder stage: compile nushell from source
FROM rust:1.92.0-bullseye AS builder
WORKDIR /workspace
# Install build dependencies (including OpenSSL headers for crates requiring them)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
pkg-config \
build-essential \
libssl-dev \
binutils \
&& rm -rf /var/lib/apt/lists/*
# Copy the entire repository (building nushell may depend on the full workspace)
COPY . .
# Build only the nu crate in release mode
RUN cargo build -p nu --release
# Optional: strip the binary to reduce final image size
RUN strip /workspace/target/release/nu || true
# 2) Runtime stage: lightweight runtime image
FROM debian:bullseye-slim AS runtime
ENV LANG=C.UTF-8
# Install runtime dependencies (OpenSSL libs and certificates)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libssl1.1 \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user to run the binary
RUN useradd -m nuuser
USER nuuser
WORKDIR /home/nuuser
# Copy the prebuilt binary from the builder stage
COPY --from=builder /workspace/target/release/nu /usr/local/bin/nu
# Ensure executable permissions
RUN chmod +x /usr/local/bin/nu
# Default command
ENTRYPOINT ["/usr/local/bin/nu"]
# Docker build ignore file # Ignore VCS .git .gitignore # Cargo build output target **/target Cargo.lock # Node modules (if any in repo) node_modules # Common IDE files .DS_Store *.swp *.swo # Build artifacts from sub-crates crates/*/target # Ignore artifacts in 3rd party folders vendor
FROM rust:1.92.0-bullseye AS builder
# Install required native build dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
pkg-config \
libssl-dev \
libclang-dev \
cmake \
build-essential \
ca-certificates \
curl && \
rm -rf /var/lib/apt/lists/*
# Create app directory
WORKDIR /usr/src/nu
# Copy manifests first to leverage caching
COPY Cargo.toml Cargo.lock ./
COPY crates ./crates
COPY . .
# Build
RUN cargo build --release --locked
# Runtime stage
FROM debian:bullseye-slim
# Install runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
libssl1.1 && \
rm -rf /var/lib/apt/lists/*
# Copy the compiled binary
COPY --from=builder /usr/src/nu/target/release/nu /usr/local/bin/nu
# Set default command to run Nushell
ENTRYPOINT ["/usr/local/bin/nu"]
target/ **/node_modules *.log Cargo.lock .DS_Store .git
Exact error message and exit code: - ERROR: failed to build: failed to solve: failed to calculate checksum of ref dm0crafjnw8l43ifl6uhde0ck::yw98bswt0tke9v8aj4n8u3k0w: "/Cargo.lock": not found - Exit code: not shown in log Failing command/step: - [builder 4/7] COPY Cargo.toml Cargo.lock ./ Missing packages or files mentioned: - /Cargo.lock not found - Related warning: CopyIgnoredFile: Attempting to Copy file "Cargo.lock" that is excluded by .dockerignore (line 19) - .dockerignore excludes Cargo.lock (line 19), causing the COPY to fail Version mismatch info: - Base images used: - rust:1.92.0-bullseye (SHA: c6d501c039204c21e9fa374f234bd41bdc8b36cfd455a407ef145d9bef19f2b7) - debian:bullseye-slim (SHA: 95a3884fee36b8f33bf32a6bbffa8dffe6cab6089b841cec45fb47c581a2709d) - No explicit version mismatch reported in the log Notes: - The failure stems from attempting to copy Cargo.lock into the build context, but Cargo.lock is excluded by .dockerignore, leading to “not found” during checksum calculation.
target/ **/node_modules *.log .DS_Store .git
- What it is: A Cargo.lock file generated by Cargo (version 4) for a Rust project. It lists every package in the dependency graph with their exact versions and sources. - Notable top crates and versions present: - addr2line 0.25.1 - adler2 2.0.1 - ahash 0.8.12 - aho-corasick 1.1.4 - aws-config 1.8.15 - aws-sdk-sso 1.96.0 - aws-sdk-sts 1.100.0 - backtrace 0.3.76 - base64 0.22.1 - clap 4.5.60 (and clap_builder 4.5.60, clap_derive 4.5.55) - chrono 0.4.41 - chrono-tz (dep), 0.10.4 - chrono-humanize 0.2.3 - nu 0.111.1 (and related nu-* crates like nu-cli, nu-engine, nu-parser, etc) - polars 0.53.0 (and polars-arrow, polars-core, polars-io, polars-parquet, polars-time, polars-utils, etc) - polars-arrow 0.53.0 - polars-core 0.53.0 - polars-parquet 0.53.0 - reqwest 0.12.28 - tokio 1.50.0 - serde 1.0.228 and serde_json 1.0.149 - wasm-bindgen family (wasm-bindgen 0.2.114, plus related wasm-bindgen-* crates) - windows-sys up to 0.61.2 and multiple Windows-target crates (winapi, windows, etc) - Other details: - All crates sourced from crates.io registry (registry+https://github.com/rust-lang/crates.io-index), with explicit dependencies and transitive trees. - Large Windows-related and platform-specific crates are present (windows-sys, winapi, sec-frameworks, etc). - The graph includes numerous utilities and tooling crates (serde_yaml, toml, quick-xml, regex, pest, etc), along with data/compute stacks (polars, avro-schema, serde-related crates, etc). - Practical takeaway: This is a comprehensive, pinned dependency graph for reproducible builds of a workspace that combines components like Nu (shell), Polars-based data tooling, AWS SDK, and other crates. No errors are shown in the output.