docker/README.md
This README covers, first, dependencies and instructions for building Linux, then those for Windows.
docker can be executed without root privileges.To verify that Docker is working, run:
# You should be able to run this without sudo.
docker run --rm hello-world
You don't need to install Nvidia Docker to build CUDA container. You will need to install Nvidia Docker to run the CUDA container.
To verify that the Nvidia Docker is working, run:
docker run --rm --gpus all nvidia/cuda:12.1-base nvidia-smi
You can build and run ARM64 docker. This works on an ARM64 host including Apple Silicon. However, if your host is x86-64, you will need to install QEMU:
sudo apt-get --yes install qemu binfmt-support qemu-user-static
# Run the registering scripts
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
To verify that the ARM64 environment is working, run:
# This shall print "aarch64".
# The following warning message is expected: "WARNING: The requested image's
# platform (linux/arm64/v8) does not match the detected host platform
# (linux/amd64) and no specific platform was requested aarch64."
docker run --rm arm64v8/ubuntu:24.04 uname -p
For example:
cd docker
# Build Docker.
./docker_build.sh openblas-amd64-py38-dev
# Test Docker.
./docker_test.sh openblas-amd64-py38-dev
See ./docker_build.sh and ./docker_test.sh for all available options.
You can build and test Open3D for Linux in a Docker container under Windows using the provided scripts thanks to Docker Desktop for Windows and WSL.
This guide walks you through installing Docker Desktop, setting up Windows Subsystem for Linux (WSL), configuring Docker integration with WSL, and building Open3D for Linux including its documentation and the Python wheel, and testing it, using the provided scripts (respectively docker_build.sh and docker_test.sh).
Enable WSL: Open PowerShell as Administrator and install WSL:
wsl --install
Install a Linux Distribution (e.g., Ubuntu-24.04):
wsl --install -d Ubuntu-24.04
Restart your system if prompted.
Open a terminal within WSL.
Clone and check out Open3D repository into the folder of your choice:
git clone https://github.com/isl-org/Open3D /path/to/Open3D
Open your WSL terminal.
Navigate to the Docker folder in the Open3D repository:
cd /path/to/Open3D/docker
Disable PyTorch and TensorFlow ops if not needed:
export BUILD_PYTORCH_OPS=OFF
export BUILD_TENSORFLOW_OPS=OFF
Run the Docker build script:
E.g.:
./docker_build.sh openblas-amd64-py312
Check the log of the build. After the build completes, you will have an Open3D Docker image ready to use, and the artifacts (binaries, documentation and Python package) will have been copied back to the host.
Run tests within the built Docker image:
E.g.:
./docker_test.sh openblas-amd64-py312