Concerns: No Dockerfile found at repo root
# Git metadata .git .gitignore # Cargo/build outputs target Cargo.lock # Node projects (if present) node_modules # CI/workflow artifacts ci .github *.log # macOS .DS_Store
FROM rust:1.94.0-bookworm 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 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Cache dependencies by first copying manifest files
COPY Cargo.toml Cargo.lock ./
RUN cargo fetch
# Copy the rest of the source code
COPY . .
# Build the Fuel Core binary from the workspace (release)
RUN cargo build-fuel-core-bin-release
# Runtime stage
FROM debian:bookworm-slim
# Install runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends libssl3 ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
# Expose GraphQL port used by Fuel Core in many setups
EXPOSE 4000
ENTRYPOINT ["fuel-core"]
CMD ["run", "--db-type", "in-memory"]
FROM rust:1.94.0-bookworm 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 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Cache dependencies by first copying manifest files
COPY Cargo.toml Cargo.lock ./
RUN cargo fetch
# Copy the rest of the source code
COPY . .
# Build the Fuel Core binary from the workspace (release)
RUN cargo build-fuel-core-bin-release
# Runtime stage
FROM debian:bookworm-slim
# Install runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends libssl3 ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
# Expose GraphQL port used by Fuel Core in many setups
EXPOSE 4000
ENTRYPOINT ["fuel-core"]
CMD ["run", "--db-type", "in-memory"]
- Exact error message and exit code - Error message: ERROR: failed to build: failed to solve: failed to compute cache key: failed to calculate checksum of ref dm0crafjnw8l43ifl6uhde0ck::qmbs3n8lmavsk8ig192yw9msp: "/Cargo.lock": not found - Exit code: not shown in the log - Failing command/step - [builder 4/7] COPY Cargo.toml Cargo.lock ./: - Missing packages or files mentioned - "/Cargo.lock": not found - CopyIgnoredFile warning: Cargo.lock is excluded by .dockerignore (line 11) - Version mismatch info - No explicit version mismatch reported. Images used: rust:1.94.0-bookworm and debian:bookworm-slim Notes - The build failed because Cargo.lock is excluded by .dockerignore, causing the COPY of Cargo.lock to fail with a missing file error.
# Git metadata .git .gitignore # Cargo/build outputs target # Node projects (if present) node_modules # CI/workflow artifacts ci .github *.log # macOS .DS_Store
- Exact error message and exit code
- error: failed to load manifest for workspace member `/workspace/benches`
referenced by workspace at `/workspace/Cargo.toml`
Caused by:
failed to read `/workspace/benches/Cargo.toml`
Caused by:
No such file or directory (os error 2)
- process "/bin/sh -c cargo fetch" did not complete successfully: exit code: 101
- Failing command/step
- [builder 5/7] RUN cargo fetch
- In Dockerfile: the line executing cargo fetch is the failing step (Cargo.toml and Cargo.lock were copied just prior)
- Missing packages or files mentioned
- Missing file: /workspace/benches/Cargo.toml (workspace declares benches as a member but that path/file does not exist)
- Version mismatch info
- No version mismatch information is present in the log. The failure is due to a missing workspace member file, not a version conflict.FROM rust:1.94.0-bookworm 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 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Copy the full source code
COPY . .
# Build only the Fuel Core binary from the workspace (release) using its manifest path
RUN cargo build --release --manifest-path bin/fuel-core/Cargo.toml
# Runtime stage
FROM debian:bookworm-slim
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends libssl3 ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user for runtime (optional but recommended)
RUN useradd -m fuel && \
mkdir -p /home/fuel/.local/bin && \
chown -R fuel:fuel /home/fuel
# Copy the built binary from the builder
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
USER fuel
# Expose GraphQL port used by Fuel Core in many setups
EXPOSE 4000
ENTRYPOINT ["fuel-core"]
CMD ["run", "--db-type", "in-memory"]
Failing step - [builder 5/5] RUN cargo build --release --manifest-path bin/fuel-core/Cargo.toml Exact error message and exit code - error: failed to run custom build command for `librocksdb-sys v0.11.0+8.1.1` - Caused by: - process didn't exit successfully: `/workspace/target/release/build/librocksdb-sys-4196eafa8cf101a2/build-script-build` (exit status: 101) - --- stderr (excerpt) --- - thread 'main' (9132) panicked at /usr/local/cargo/registry/.../bindgen-0.65.1/lib.rs:603:31: - Unable to find libclang: "couldn't find any valid shared libraries matching: ['libclang.so', 'libclang-*.so', 'libclang.so.*', 'libclang-*.so.*'], set the `LIBCLANG_PATH` environment variable to a path where one of these files can be found (invalid: [])" - note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace Missing packages/files / version info - Missing/libclang: libclang libraries not found in the image; LIBCLANG_PATH not set. - This is a build-time requirement for bindgen used by the librocksdb-sys crate. Version context - info: syncing channel updates for 1.93.0-x86_64-unknown-linux-gnu - info: latest update on 2026-01-22 for version 1.93.0 (254b59607 2026-01-19) - This indicates the build is using Rust toolchain around 1.93.0 (not a CLANG-specific version), but the failure is due to missing libclang.
FROM rust:1.94.0-bookworm AS builder
# Install build dependencies including clang for bindgen
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
ca-certificates \
curl \
clang \
libclang-dev \
librocksdb-dev \
libsnappy-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Copy the full source code
COPY . .
# Build only the Fuel Core binary from the workspace (release)
RUN cargo build --release --manifest-path bin/fuel-core/Cargo.toml
# Runtime stage
FROM debian:bookworm-slim
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libssl3 \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user for runtime (recommended)
RUN useradd -m fuel && \
mkdir -p /home/fuel/.local/bin && \
chown -R fuel:fuel /home/fuel
# Copy the built binary from the builder
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
USER fuel
# Expose GraphQL port used by Fuel Core in many setups
EXPOSE 4000
ENTRYPOINT ["fuel-core"]
CMD ["run", "--db-type", "in-memory"]
Build timed out after 600s
# Builder stage: compile Fuel Core binary from source
FROM rust:1.94.0-bookworm AS builder
# Install build dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
curl \
ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Set working directory to repo root
WORKDIR /workspace
# Copy manifests first to leverage Docker cache
COPY Cargo.toml Cargo.lock ./
# Fetch dependencies (to cache layer)
RUN cargo fetch
# Copy the rest of the repo
COPY . .
# Build only the Fuel Core binary (release)
RUN cargo build --release --bin fuel-core
# Runtime stage: minimal base image
FROM debian:bookworm-slim AS runtime
# Install runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
libsnappy1v5 \
liblz4-1 \
libzstd1 && \
rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder stage
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
# Default command to verify the build
CMD ["fuel-core", "--version"]
target/ .git/ node_modules/ dist/ .gitignore Dockerfile .dockerignore
- Failing step: builder 5/7 RUN cargo fetch
- Exit code: 101
- Exact error message (as reported in log):
error: failed to load manifest for workspace member `/workspace/benches` referenced by workspace at `/workspace/Cargo.toml`
Caused by:
failed to read `/workspace/benches/Cargo.toml`
No such file or directory (os error 2)
- Missing packages/files mentioned:
- The file /workspace/benches/Cargo.toml is missing (causing the manifest read failure for the workspace member).
- The workspace at /workspace/Cargo.toml references /workspace/benches, which does not exist.
- Version/image context (no explicit mismatch noted):
- Base images shown: rust:1.94.0-bookworm and debian:bookworm-slim
- No specific version mismatch error is present in the log; the failure is due to a missing workspace member file.# Builder stage: compile Fuel Core binary from source
FROM rust:1.94.0-bookworm AS builder
# Install build dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
pkg-config \
libssl-dev \
curl \
ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Set working directory to repo root
WORKDIR /workspace
# Copy the entire repository (to ensure workspace manifests are present for cargo fetch)
COPY . .
# Build only the Fuel Core binary (release)
RUN cargo build --release --bin fuel-core
# Runtime stage: minimal base image
FROM debian:bookworm-slim AS runtime
# Install runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
libsnappy1v5 \
liblz4-1 \
libzstd1 && \
rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder stage
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
# Default command to verify the build
CMD ["fuel-core", "--version"]
# Multistage Dockerfile to build and run Fuel Core from source
# -------- Builder Stage --------
FROM rust:1.94.0-bookworm 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 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Pre-copy Cargo manifests to leverage Docker cache
COPY Cargo.toml Cargo.lock ./
# Fetch dependencies (if Cargo.lock is missing, cargo will proceed)
RUN if [ -f Cargo.lock ]; then cargo fetch --locked; else cargo fetch; fi
# Copy the rest of the source
COPY . .
# Build the Fuel Core binary (release)
RUN cargo build-fuel-core-bin-release
# -------- Runtime Stage --------
FROM debian:bookworm-slim AS runtime
# Install minimal runtime dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
libssl3 \
# Ensure the certificate store is up to date
&& rm -rf /var/lib/apt/lists/*
# Copy the built binary from the builder stage
COPY --from=builder /workspace/target/release/fuel-core /usr/local/bin/fuel-core
# Expose the default Fuel GraphQL port (as used by fuel-core run)
EXPOSE 4000
# Default command to run Fuel Core in in-memory mode for development
CMD ["fuel-core", "run", "--db-type", "in-memory"]
# Ignore version control and target/build artifacts .git target **/target Cargo.lock
Failing step and exit code
- Step: [builder 5/7] RUN if [ -f Cargo.lock ]; then cargo fetch --locked; else cargo fetch; fi
- Exit code: 101
- Exact failure message (from logs):
error: failed to load manifest for workspace member `/workspace/benches`
referenced by workspace at `/workspace/Cargo.toml`
Caused by:
failed to read `/workspace/benches/Cargo.toml`
Caused by:
No such file or directory (os error 2)
- Process detail:
process "/bin/sh -c if [ -f Cargo.lock ]; then cargo fetch --locked; else cargo fetch; fi" did not complete successfully: exit code: 101
Missing packages or files mentioned
- Missing file: /workspace/benches/Cargo.toml (No such file or directory)
Version and environment context (no explicit mismatch error provided)
- Base images shown:
- Debian: bookworm-slim
- Rust: 1.94.0-bookworm
- Other environment details present in logs (e.g., OpenSSL/libssl3, ca-certificates) but no explicit version mismatch error reported.# Multistage Dockerfile to build and run Fuel Core from source
# -------- Builder Stage --------
FROM rust:1.94.0-bookworm 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 && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
# Copy the entire repository to the builder
COPY . .
# Build and install the Fuel Core binary into /usr/local (static-like install path)
RUN cargo install --path bin/fuel-core --locked --root /usr/local
# -------- Runtime Stage --------
FROM debian:bookworm-slim AS runtime
# Install minimal 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 stage
COPY --from=builder /usr/local/bin/fuel-core /usr/local/bin/fuel-core
# Expose the default Fuel GraphQL port (as used by fuel-core run)
EXPOSE 4000
# Default command to run Fuel Core in in-memory mode for development
CMD ["fuel-core", "run", "--db-type", "in-memory"]