forked from isaac-sim/IsaacLab
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'isaac-sim:main' into main
- Loading branch information
Showing
82 changed files
with
3,144 additions
and
607 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# Copyright (c) 2022-2024, The Isaac Lab Project Developers. | ||
# All rights reserved. | ||
# | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
|
||
# This Dockerfile is used to build a Docker image for the Isaac Lab framework. | ||
# | ||
# It uses the pip package manager to install Isaac Sim and the Isaac Lab framework. | ||
# | ||
# To build the Docker image and run the Docker container, follow the steps below: | ||
# | ||
# 1. Build the Docker image: | ||
# docker build -t isaac-lab-pip:latest -f docker/Dockerfile.pip . | ||
# 2. Run the Docker container: | ||
# docker run -it --gpus all --rm --network=host --name isaac-lab -v $(pwd):/root/isaaclab isaac-lab-pip:latest | ||
|
||
# Base image: Ubuntu 22.04 | ||
FROM ubuntu:22.04 AS base | ||
|
||
# Set default RUN shell to bash | ||
SHELL ["/bin/bash", "-c"] | ||
|
||
# Adds labels to the Dockerfile | ||
LABEL version="1.0" | ||
LABEL description="Dockerfile for building and running the Isaac Lab framework in Ubuntu 22.04 container image." | ||
|
||
# Arguments | ||
# Path to the Isaac Lab directory | ||
ENV ISAACLAB_PATH=/root/isaaclab | ||
# Home dir of docker user, typically '/root' | ||
ENV DOCKER_USER_HOME=/root | ||
|
||
# Set environment variables | ||
ENV LANG=C.UTF-8 | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
USER root | ||
|
||
# Install dependencies and remove cache | ||
RUN --mount=type=cache,target=/var/cache/apt \ | ||
apt-get update && apt-get install -y --no-install-recommends \ | ||
build-essential \ | ||
cmake \ | ||
git \ | ||
libglib2.0-0 \ | ||
ncurses-term && \ | ||
apt -y autoremove && apt clean autoclean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# for singularity usage, have to create the directories that will binded | ||
RUN mkdir -p ${DOCKER_USER_HOME}/.cache/ov && \ | ||
mkdir -p ${DOCKER_USER_HOME}/.cache/pip && \ | ||
mkdir -p ${DOCKER_USER_HOME}/.cache/nvidia/GLCache && \ | ||
mkdir -p ${DOCKER_USER_HOME}/.nv/ComputeCache && \ | ||
mkdir -p ${DOCKER_USER_HOME}/.nvidia-omniverse/logs && \ | ||
mkdir -p ${DOCKER_USER_HOME}/.local/share/ov/data && \ | ||
mkdir -p ${DOCKER_USER_HOME}/Documents | ||
|
||
# for singularity usage, create NVIDIA binary placeholders | ||
RUN touch /bin/nvidia-smi && \ | ||
touch /bin/nvidia-debugdump && \ | ||
touch /bin/nvidia-persistenced && \ | ||
touch /bin/nvidia-cuda-mps-control && \ | ||
touch /bin/nvidia-cuda-mps-server && \ | ||
touch /etc/localtime && \ | ||
mkdir -p /var/run/nvidia-persistenced && \ | ||
touch /var/run/nvidia-persistenced/socket | ||
|
||
# Install python3 and pip | ||
RUN apt-get update && apt-get install -y --no-install-recommends \ | ||
python3 \ | ||
python3-pip && \ | ||
apt -y autoremove && apt clean autoclean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
# Maintain python3 as the default python version | ||
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 1 | ||
RUN update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 | ||
|
||
# Install python packages | ||
RUN pip3 install --no-cache-dir --upgrade pip && \ | ||
pip install torch==2.2.2 --index-url https://download.pytorch.org/whl/cu118 | ||
|
||
RUN pip install isaacsim-rl isaacsim-replicator isaacsim-extscache-physics isaacsim-extscache-kit-sdk isaacsim-extscache-kit isaacsim-app --extra-index-url https://pypi.nvidia.com | ||
|
||
# Mount the Isaac Lab directory (files to exclude are defined in .dockerignore) | ||
COPY ../ ${ISAACLAB_PATH} | ||
|
||
# installing Isaac Lab dependencies | ||
# use pip caching to avoid reinstalling large packages | ||
RUN --mount=type=cache,target=${DOCKER_USER_HOME}/.cache/pip \ | ||
${ISAACLAB_PATH}/isaaclab.sh --install | ||
|
||
# aliasing isaaclab.sh and python for convenience | ||
RUN echo "export ISAACLAB_PATH=${ISAACLAB_PATH}" >> ${HOME}/.bashrc && \ | ||
echo "alias isaaclab=${ISAACLAB_PATH}/isaaclab.sh" >> ${HOME}/.bashrc && \ | ||
echo "export TZ=$(date +%Z)" >> ${HOME}/.bashrc | ||
|
||
# make working directory as the Isaac Lab directory | ||
# this is the default directory when the container is run | ||
WORKDIR ${ISAACLAB_PATH} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.