Native Docker Engine, CLI, and Compose binaries built for RISC-V64 architecture, enabling full containerization on RISC-V hardware.
This project provides pre-built Docker Engine, CLI, and Compose binaries for RISC-V64 Linux systems. Built from official Moby, CLI, and Compose sources with minimal patches for RISC-V compatibility, these binaries enable running Docker containers and multi-container applications natively on RISC-V hardware.
Key Features:
- Native RISC-V64 compilation on BananaPi F3 (Armbian Trixie)
- Docker Engine (dockerd, containerd, runc)
- Docker CLI (docker command-line interface)
- Docker Compose v2 plugin
- Docker BuildKit - multi-platform build support
- Tini - tiny init for containers
- Debian APT repository for easy installation
- RPM repository for Fedora/RHEL/Rocky/AlmaLinux
- Automated
.deband.rpmpackage creation - Automated weekly builds
- Based on official Moby, CLI, Compose, BuildKit, and Tini releases
- Built and tested on Debian Trixie / Armbian Trixie and Fedora RISC-V64
- Minimal patches for RISC-V compatibility
Note: The examples below use specific version numbers for illustration. Always check the releases page for the latest versions, or use the Advanced Version Detection section to automatically fetch the latest release tags.
Our APT repository uses GPG signing to ensure package authenticity and integrity. To verify package signatures:
# Download and install the repository GPG key
wget -qO- https://github.com/gounthar/docker-for-riscv64/releases/download/gpg-key/docker-riscv64.gpg | \
sudo tee /usr/share/keyrings/docker-riscv64.gpg > /dev/null
# Add signed repository
echo "deb [arch=riscv64 signed-by=/usr/share/keyrings/docker-riscv64.gpg] https://gounthar.github.io/docker-for-riscv64 trixie main" | \
sudo tee /etc/apt/sources.list.d/docker-riscv64.listGPG Key Information:
- Key ID:
56188341425B007407229B48FB1963FC3575A39D - Key Name: Docker RISC-V64 Repository
- Fingerprint:
5618 8341 425B 0074 0722 9B48 FB19 63FC 3575 A39D
Choose your Linux distribution:
Install from our signed Debian APT repository:
# Add GPG key
wget -qO- https://github.com/gounthar/docker-for-riscv64/releases/download/gpg-key/docker-riscv64.gpg | \
sudo tee /usr/share/keyrings/docker-riscv64.gpg > /dev/null
# Add signed repository
echo "deb [arch=riscv64 signed-by=/usr/share/keyrings/docker-riscv64.gpg] https://gounthar.github.io/docker-for-riscv64 trixie main" | \
sudo tee /etc/apt/sources.list.d/docker-riscv64.list
# Update and install
sudo apt-get update
sudo apt-get install docker.io
# Add your user to docker group
sudo usermod -aG docker $USER
# Enable and start service
sudo systemctl enable --now dockerNote: Log out and back in for group changes to take effect.
Download and install the .deb package:
# Get latest release
VERSION="v28.5.1-riscv64"
# Download package
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${VERSION}/docker.io_${VERSION#v}_riscv64.deb"
# Install
sudo dpkg -i docker.io_*.deb
sudo apt-get install -f # Fix any dependenciesInstall from our signed RPM repository:
# Add the repository
sudo curl -L https://gounthar.github.io/docker-for-riscv64/rpm/docker-riscv64.repo \
-o /etc/yum.repos.d/docker-riscv64.repo
# Install Docker Engine
sudo dnf install -y moby-engine docker-cli
# Add your user to docker group
sudo usermod -aG docker $USER
# Enable and start service
sudo systemctl enable --now dockerNote: Log out and back in for group changes to take effect.
Download and install the .rpm packages:
# Get latest release
VERSION="v28.5.1-riscv64"
# Download packages
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${VERSION}/runc-1.3.0-1.fc*.riscv64.rpm"
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${VERSION}/containerd-1.7.28-1.fc*.riscv64.rpm"
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${VERSION}/moby-engine-${VERSION#v}-1.fc*.riscv64.rpm"
# Install all packages (dnf will resolve dependencies)
sudo dnf install -y ./*.riscv64.rpmInstall from our Gentoo overlay using emerge:
# Add the overlay
eselect repository add docker-riscv64 git https://github.com/gounthar/docker-for-riscv64.git
# Sync the overlay
emerge --sync docker-riscv64
# Install Docker
emerge -av app-containers/docker
# For systemd users
systemctl enable docker
systemctl start docker
# For OpenRC users
rc-update add docker default
rc-service docker start
# Add your user to docker group
usermod -aG docker $USERNote: Log out and back in for group changes to take effect.
Features:
- Pre-built binaries (no 1-2 hour compilation!)
- Latest Docker versions for RISC-V64
- Full Portage integration
- Choice of systemd or OpenRC
Why no .deb/.rpm for Gentoo? Gentoo uses overlays with ebuilds (not standalone binary packages). Our ebuilds download pre-built binaries from GitHub releases and install them in the Gentoo-native way. See GENTOO-FAQ.md for a detailed explanation.
See gentoo-overlay/README.md for detailed Gentoo installation instructions.
Download the latest release binaries:
# Get latest version from https://github.com/gounthar/docker-for-riscv64/releases
VERSION="v28.5.1-riscv64"
# Download binaries
for binary in dockerd docker-proxy containerd runc containerd-shim-runc-v2; do
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${VERSION}/${binary}"
done
# Make executable
chmod +x dockerd docker-proxy containerd runc containerd-shim-runc-v2
# Install (requires root)
sudo install -m 755 dockerd docker-proxy containerd runc containerd-shim-runc-v2 /usr/local/bin/See INSTALL.md for detailed installation instructions.
# Start dockerd (requires root)
sudo dockerd &
# Verify installation
docker version
docker infoThe Docker CLI (command-line interface) is available as a separate package:
# Add GPG key and repository (if not already added)
wget -qO- https://github.com/gounthar/docker-for-riscv64/releases/download/gpg-key/docker-riscv64.gpg | \
sudo tee /usr/share/keyrings/docker-riscv64.gpg > /dev/null
echo "deb [arch=riscv64 signed-by=/usr/share/keyrings/docker-riscv64.gpg] https://gounthar.github.io/docker-for-riscv64 trixie main" | \
sudo tee /etc/apt/sources.list.d/docker-riscv64.list
# Install CLI
sudo apt-get update
sudo apt-get install docker-cli
# Verify
docker --version# Get latest CLI release
CLI_VERSION="cli-v28.5.1-riscv64"
# Download package
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${CLI_VERSION}/docker-cli_*.deb"
# Install
sudo dpkg -i docker-cli_*.deb
sudo apt-get install -f # Fix any dependencies# Download binary
CLI_VERSION="cli-v28.5.1-riscv64"
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${CLI_VERSION}/docker"
# Install to system
chmod +x docker
sudo mv docker /usr/bin/
# Verify
docker --versionDocker Compose v2 is available as a separate plugin package:
# Add GPG key and repository (if not already added)
wget -qO- https://github.com/gounthar/docker-for-riscv64/releases/download/gpg-key/docker-riscv64.gpg | \
sudo tee /usr/share/keyrings/docker-riscv64.gpg > /dev/null
echo "deb [arch=riscv64 signed-by=/usr/share/keyrings/docker-riscv64.gpg] https://gounthar.github.io/docker-for-riscv64 trixie main" | \
sudo tee /etc/apt/sources.list.d/docker-riscv64.list
# Install compose plugin
sudo apt-get update
sudo apt-get install docker-compose-plugin
# Verify
docker compose version# Get latest compose release
COMPOSE_VERSION="compose-v2.40.1-riscv64"
# Download package
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${COMPOSE_VERSION}/docker-compose-plugin_*.deb"
# Install
sudo dpkg -i docker-compose-plugin_*.deb
sudo apt-get install -f # Fix any dependencies# Download binary
COMPOSE_VERSION="compose-v2.40.1-riscv64"
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${COMPOSE_VERSION}/docker-compose"
# Install as Docker CLI plugin
sudo mkdir -p /usr/libexec/docker/cli-plugins
sudo mv docker-compose /usr/libexec/docker/cli-plugins/
sudo chmod +x /usr/libexec/docker/cli-plugins/docker-compose
# Verify
docker compose versionBackward Compatibility:
The package automatically creates a symlink at /usr/bin/docker-compose for backward compatibility with v1 commands:
# Both work
docker compose version
docker-compose version# Create a sample compose.yml
cat > compose.yml << 'EOF'
services:
web:
image: nginx:alpine
ports:
- "8080:80"
EOF
# Start services
docker compose up -d
# Check status
docker compose ps
# View logs
docker compose logs
# Stop and remove
docker compose downBuildKit is available for RISC-V64, enabling multi-platform builds and advanced Docker Buildx features.
Important: The official
moby/buildkit:buildx-stable-1container image does not support RISC-V64. You must use the RISC-V64-specific BuildKit image (ghcr.io/gounthar/buildkit-riscv64) when creating Docker Buildx builders. See Option 2 below.
Install BuildKit binaries from the APT repository:
# Install buildkitd and buildctl binaries
sudo apt-get update
sudo apt-get install buildkit
# Verify installation
buildkitd --version
buildctl --versionNote: This installs only the buildkitd and buildctl binaries. For Docker Buildx integration, you need to use the container image (see Option 2).
# Pull BuildKit container image
docker pull ghcr.io/gounthar/buildkit-riscv64:latest
# Create Docker Buildx builder using BuildKit
docker buildx create \
--name riscv-builder \
--driver docker-container \
--driver-opt image=ghcr.io/gounthar/buildkit-riscv64:latest \
--use
# Bootstrap the builder
docker buildx inspect --bootstrap# Get latest BuildKit release
BUILDKIT_VERSION="buildkit-v0.14.0-riscv64"
# Download binaries
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${BUILDKIT_VERSION}/buildkitd"
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${BUILDKIT_VERSION}/buildctl"
# Install (requires root)
chmod +x buildkitd buildctl
sudo mv buildkitd buildctl /usr/local/bin/
# Verify installation
buildkitd --version
buildctl --version# Build for multiple architectures
docker buildx build \
--platform linux/riscv64,linux/amd64 \
-t myimage:latest \
.
# Build and push to registry
docker buildx build \
--platform linux/riscv64,linux/amd64,linux/arm64 \
-t myregistry/myimage:latest \
--push \
.Container Registry:
- Image: ghcr.io/gounthar/buildkit-riscv64
- Tags:
latest,v{VERSION}-riscv64,master-{DATE}
Features:
- Multi-platform image building
- Concurrent dependency resolution
- Efficient caching with content-addressable storage
- Build cache import/export
- Rootless execution
- Full Docker Buildx integration
For automation or to always use the latest versions, you can dynamically detect the latest release tags using the GitHub CLI or API:
# Check for required dependencies
command -v gh &> /dev/null || {
echo "Error: gh not found. Install from https://cli.github.com"
exit 1
}
# Automatically fetch latest versions
LATEST_ENGINE=$(gh release list --repo gounthar/docker-for-riscv64 --limit 20 | \
grep -E '^\s*v[0-9]+\.[0-9]+\.[0-9]+-riscv64' | \
grep -v 'cli-v' | grep -v 'compose-v' | \
head -1 | awk '{print $1}')
LATEST_CLI=$(gh release list --repo gounthar/docker-for-riscv64 --limit 20 | \
grep -E '^\s*cli-v[0-9]+\.[0-9]+\.[0-9]+-riscv64' | \
head -1 | awk '{print $1}')
LATEST_COMPOSE=$(gh release list --repo gounthar/docker-for-riscv64 --limit 20 | \
grep -E '^\s*compose-v[0-9]+\.[0-9]+\.[0-9]+-riscv64' | \
head -1 | awk '{print $1}')
LATEST_BUILDKIT=$(gh release list --repo gounthar/docker-for-riscv64 --limit 20 | \
grep -E '^\s*buildkit-v[0-9]+\.[0-9]+\.[0-9]+-riscv64' | \
head -1 | awk '{print $1}')
# Validate all versions were detected
[[ -z "$LATEST_ENGINE" ]] && { echo "Error: No Engine releases found"; exit 1; }
[[ -z "$LATEST_CLI" ]] && { echo "Error: No CLI releases found"; exit 1; }
[[ -z "$LATEST_COMPOSE" ]] && { echo "Error: No Compose releases found"; exit 1; }
[[ -z "$LATEST_BUILDKIT" ]] && { echo "Warning: No BuildKit releases found"; }
# Display detected versions
echo "Latest Engine: $LATEST_ENGINE"
echo "Latest CLI: $LATEST_CLI"
echo "Latest Compose: $LATEST_COMPOSE"
echo "Latest BuildKit: $LATEST_BUILDKIT"
# Example: Download Docker Engine binaries
for binary in dockerd docker-proxy containerd runc containerd-shim-runc-v2; do
wget "https://github.com/gounthar/docker-for-riscv64/releases/download/${LATEST_ENGINE}/${binary}"
done# Check for required dependencies
for cmd in curl jq; do
command -v $cmd &> /dev/null || {
echo "Error: $cmd not found"
exit 1
}
done
# Fetch latest Engine release (no authentication required)
LATEST_ENGINE=$(curl -s https://api.github.com/repos/gounthar/docker-for-riscv64/releases | \
jq -r '[.[] | select(.tag_name | test("^v[0-9]+\\.[0-9]+\\.[0-9]+-riscv64$"))] |
.[0].tag_name')
# Fetch latest CLI release
LATEST_CLI=$(curl -s https://api.github.com/repos/gounthar/docker-for-riscv64/releases | \
jq -r '[.[] | select(.tag_name | test("^cli-v[0-9]+\\.[0-9]+\\.[0-9]+-riscv64$"))] |
.[0].tag_name')
# Fetch latest Compose release
LATEST_COMPOSE=$(curl -s https://api.github.com/repos/gounthar/docker-for-riscv64/releases | \
jq -r '[.[] | select(.tag_name | test("^compose-v[0-9]+\\.[0-9]+\\.[0-9]+-riscv64$"))] |
.[0].tag_name')
# Fetch latest BuildKit release
LATEST_BUILDKIT=$(curl -s https://api.github.com/repos/gounthar/docker-for-riscv64/releases | \
jq -r '[.[] | select(.tag_name | test("^buildkit-v[0-9]+\\.[0-9]+\\.[0-9]+-riscv64$"))] |
.[0].tag_name')
# Validate all versions were detected
[[ -z "$LATEST_ENGINE" ]] && { echo "Error: No Engine releases found"; exit 1; }
[[ -z "$LATEST_CLI" ]] && { echo "Error: No CLI releases found"; exit 1; }
[[ -z "$LATEST_COMPOSE" ]] && { echo "Error: No Compose releases found"; exit 1; }
[[ -z "$LATEST_BUILDKIT" ]] && { echo "Warning: No BuildKit releases found"; }
echo "Latest Engine: $LATEST_ENGINE"
echo "Latest CLI: $LATEST_CLI"
echo "Latest Compose: $LATEST_COMPOSE"
echo "Latest BuildKit: $LATEST_BUILDKIT"Here's a complete script that detects and installs the latest versions:
Note: This script installs Docker Engine and CLI only. To also install Docker Compose, see COMPOSE-TESTING.md Dynamic Version Detection section.
#!/bin/bash
set -e
# Check for required dependencies
command -v gh &> /dev/null || {
echo "Error: gh not found. Install from https://cli.github.com"
exit 1
}
command -v wget &> /dev/null || {
echo "Error: wget not found. Install with: sudo apt-get install wget"
exit 1
}
# Detect latest releases
echo "Detecting latest versions..."
LATEST_ENGINE=$(gh release list --repo gounthar/docker-for-riscv64 --limit 20 | \
grep -E '^\s*v[0-9]+\.[0-9]+\.[0-9]+-riscv64' | \
grep -v 'cli-v' | grep -v 'compose-v' | \
head -1 | awk '{print $1}')
LATEST_CLI=$(gh release list --repo gounthar/docker-for-riscv64 --limit 20 | \
grep -E '^\s*cli-v[0-9]+\.[0-9]+\.[0-9]+-riscv64' | \
head -1 | awk '{print $1}')
# Validate versions were detected
[[ -z "$LATEST_ENGINE" ]] && { echo "Error: No Engine releases found"; exit 1; }
[[ -z "$LATEST_CLI" ]] && { echo "Error: No CLI releases found"; exit 1; }
echo "Latest Engine: $LATEST_ENGINE"
echo "Latest CLI: $LATEST_CLI"
# Download and install Engine
echo "Downloading Docker Engine..."
for binary in dockerd docker-proxy containerd runc containerd-shim-runc-v2; do
wget -q "https://github.com/gounthar/docker-for-riscv64/releases/download/${LATEST_ENGINE}/${binary}"
chmod +x "$binary"
done
echo "Installing Docker Engine..."
sudo install -m 755 dockerd docker-proxy containerd runc containerd-shim-runc-v2 /usr/local/bin/
# Download and install CLI
echo "Downloading Docker CLI..."
wget -q "https://github.com/gounthar/docker-for-riscv64/releases/download/${LATEST_CLI}/docker"
chmod +x docker
sudo mv docker /usr/bin/
echo "Installation complete!"
docker --versionSupported:
- ✅ RISC-V64 (riscv64)
Tested Hardware:
- BananaPi F3 (running Armbian Trixie)
- Other RISC-V64 SBCs (community tested)
Operating Systems:
- Debian Trixie (primary)
- Armbian Trixie (tested on BananaPi F3)
- Other RISC-V Linux distributions (may work)
- Docker Engine releases:
vX.Y.Z-riscv64(e.g.,v27.5.1-riscv64) - Docker CLI releases:
cli-vX.Y.Z-riscv64(e.g.,cli-v28.5.1-riscv64) - Docker Compose releases:
compose-vX.Y.Z-riscv64(e.g.,compose-v2.40.1-riscv64) - BuildKit releases:
buildkit-vX.Y.Z-riscv64(e.g.,buildkit-v0.14.0-riscv64) - Tini releases:
tini-vX.Y.Z-riscv64(e.g.,tini-v0.19.0-riscv64) - Development builds:
vYYYYMMDD-dev,cli-vYYYYMMDD-dev,compose-vYYYYMMDD-dev,buildkit-vYYYYMMDD-dev, ortini-vYYYYMMDD-dev
Docker Engine:
- Weekly builds: Every Sunday at 02:00 UTC (latest Moby master)
- Release tracking: Daily check for new official Moby releases
- Automatic builds: New official releases trigger automatic RISC-V builds
Docker CLI:
- Weekly builds: Every Sunday at 04:00 UTC (latest CLI master)
- Release tracking: Daily check for new official CLI releases
- Manual trigger support for specific versions
Docker Compose:
- Weekly builds: Every Sunday at 03:00 UTC (latest Compose main)
- Manual trigger support for specific versions
BuildKit:
- Weekly builds: Every Sunday at 06:30 UTC (latest BuildKit master)
- Release tracking: Daily check for new official BuildKit releases
- Container images pushed to GHCR (ghcr.io/gounthar/buildkit-riscv64)
- Manual trigger support for specific versions
Tini:
- Weekly builds: Every Sunday at 05:00 UTC (latest Tini master)
- Manual trigger support for specific versions
Docker Engine releases include:
- docker.io_*.deb (~140MB) - Complete Debian package
- dockerd (73MB) - Docker Engine daemon
- docker-proxy (2.4MB) - Docker network proxy
- containerd (37MB) - Container runtime
- runc (15MB) - OCI runtime
- containerd-shim-runc-v2 (13MB) - Containerd shim
- VERSIONS.txt - Component version information
Docker CLI releases include:
- docker-cli_*.deb (~45MB) - Debian package
- docker (~43MB) - Docker CLI binary
- Installed to:
/usr/bin/docker
Docker Compose releases include:
- docker-compose-plugin_*.deb (~12MB) - Debian package
- docker-compose (~10MB) - Compose v2 binary
- Installed to:
/usr/libexec/docker/cli-plugins/ - Symlink:
/usr/bin/docker-compose(backward compat)
BuildKit releases include:
- buildkitd (~50-60MB) - BuildKit daemon binary
- buildctl (~30-40MB) - BuildKit CLI client
- Container image - ghcr.io/gounthar/buildkit-riscv64 (ready-to-use with Docker Buildx)
- VERSION.txt - BuildKit version information
- Enables multi-platform builds and advanced Docker Buildx features
Tini releases include:
- tini-*.rpm (~50KB) - RPM package for main binary
- tini-static-*.rpm (~2MB) - RPM package for static binary
- tini (~30KB) - Dynamic init binary
- tini-static (~2MB) - Static init binary
- Installed to:
/usr/bin/tiniand/usr/bin/tini-static - Used by Docker with
--initflag for proper signal handling
- RISC-V64 hardware or emulator
- Debian Trixie (or compatible)
- Docker installed (for building)
- Go 1.25.3+
- Git with submodules
# Clone repository with submodules
git clone --recurse-submodules https://github.com/gounthar/docker-for-riscv64.git
cd docker-for-riscv64
# Update moby submodule to desired version
cd moby
git fetch origin
git checkout v27.5.1 # or 'master' for latest
cd ..
# Build Docker binaries (takes ~35-40 minutes on BananaPi F3)
docker build \
--build-arg BASE_DEBIAN_DISTRO=trixie \
--build-arg GO_VERSION=1.25.3 \
--target=binary \
-f moby/Dockerfile \
.
# Extract binaries from the build
docker run --rm -v $(pwd):/out <image-id> \
sh -c 'cp /usr/local/bin/dockerd /usr/local/bin/docker-proxy /out/'See build logs and details in the repository's GitHub Actions workflows.
- INSTALL.md - Detailed installation guide
- CLI-TESTING.md - Docker CLI testing and validation guide
- COMPOSE-TESTING.md - Docker Compose testing and validation guide
- BUILDKIT-TESTING.md - BuildKit testing and multi-platform build guide
- RUNNER-SETUP.md - CI/CD runner setup for automated builds
- GitHub Actions Workflows - Automated build configurations
- Development builds: Current builds are marked as
version dev - Frozen images: Disabled (no RISC-V64 manifests for busybox/hello-world)
- Legacy CLI tests: Disabled (old v18.06.3-ce integration tests)
- Hardware testing: Limited to specific RISC-V64 hardware
- Docker Scout: Not available for RISC-V64. Docker Scout is closed source and only provides pre-built binaries for amd64/arm64 platforms. No source code is available for building RISC-V64 binaries. See Issue #128 for details.
- ✅ First release: v1.0.0 (October 2025)
- ✅ Automated builds: Active (weekly + release tracking)
- ✅ CI/CD: Self-hosted RISC-V64 runner operational
- ✅ Debian packaging: Complete with APT repository
- ✅ APT repository: https://gounthar.github.io/docker-for-riscv64
- ✅ Docker CLI support: Native RISC-V64 CLI builds available
- 🚧 Extended testing: Community feedback welcome
Contributions are welcome! Areas where help is needed:
- Testing on different RISC-V64 hardware
- RPM package creation (Fedora/SUSE)
- Documentation improvements
- Bug reports and fixes
- Testing APT repository on various Debian-based RISC-V64 systems
Before contributing:
- Check existing issues and pull requests
- Create an issue for major changes
- Follow conventional commit format
- Test on RISC-V64 hardware when possible
Built with:
- Moby Project - Docker Engine upstream
- github-act-runner - Go-based GitHub Actions runner
- BananaPi F3 - RISC-V64 build hardware
- Debian Trixie - Base distribution
Community:
- Thanks to all testers and contributors
- RISC-V community for architecture support
- Issues: GitHub Issues
- Releases: GitHub Releases
- Upstream: Moby Project
This project follows the licensing of its upstream components:
- Docker/Moby components: Apache License 2.0
- Build scripts and documentation: See repository license
Note: This is an unofficial build of Docker Engine for RISC-V64. For production use, always verify binaries and test thoroughly on your target hardware.