Skip to content

Commit 47d74ae

Browse files
alexmillaneZehao Wang (TME)
andauthored
Fix Dockerfile pip usage and add SSL cert support for Lightwheel SDK (#449)
## Summary Fix Dockerfile pip usage and add SSL cert support for Lightwheel SDK ## Detailed description - Copy(with small modifications) of MR from external contributor #423 --------- Co-authored-by: Zehao Wang (TME) <zehao.wang+tme@external.toyota-europe.com>
1 parent 867cbf9 commit 47d74ae

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

docker/Dockerfile.isaaclab_arena

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,19 +37,21 @@ ENV ISAACLAB_PATH=${WORKDIR}/submodules/IsaacLab
3737
ENV TERM=xterm
3838
# Symlink isaac sim to IsaacLab
3939
RUN ln -s /isaac-sim/ ${WORKDIR}/submodules/IsaacLab/_isaac_sim
40-
# Install IsaacLab dependencies
41-
RUN for DIR in ${WORKDIR}/submodules/IsaacLab/source/isaaclab*/; do pip install --no-deps -e "$DIR"; done
4240
# Logs and other stuff appear under dist-packages per default, so this dir has to be writeable.
4341
RUN chmod 777 -R /isaac-sim/kit/
44-
# # Pre-install flatdict with --no-build-isolation to work around pkg_resources missing in pip's isolated build env
42+
# Upgrade Isaac Sim's pip to avoid version warnings and build issues
43+
RUN /isaac-sim/python.sh -m pip install --upgrade pip
44+
# Install IsaacLab dependencies
45+
RUN for DIR in ${WORKDIR}/submodules/IsaacLab/source/isaaclab*/; do /isaac-sim/python.sh -m pip install --no-deps -e "$DIR"; done
46+
# Pre-install flatdict with --no-build-isolation to work around pkg_resources missing in pip's isolated build env
4547
RUN /isaac-sim/python.sh -m pip install --no-build-isolation flatdict==4.0.1
4648
# Install isaaclab
4749
RUN ${ISAACLAB_PATH}/isaaclab.sh -i
4850

4951
# Patch for osqp in IsaacLab. Downgrade qpsolvers
5052
# TODO(alexmillane): Watch the thread here: https://nvidia.slack.com/archives/C06HLQ6CB41/p1764680205807019
5153
# and remove this thread when IsaacLab has a fix.
52-
RUN if python -c "import qpsolvers; print(qpsolvers.available_solvers)" | grep -q "osqp"; then \
54+
RUN if /isaac-sim/python.sh -c "import qpsolvers; print(qpsolvers.available_solvers)" | grep -q "osqp"; then \
5355
echo "OSQP is installed. You can remove this clause from the Arena dockerfile."; \
5456
else \
5557
echo "OSQP missing, installing... This is a patch for an Isaac Lab bug."; \
@@ -134,7 +136,7 @@ RUN echo "alias pytest='/isaac-sim/python.sh -m pytest'" >> /etc/bash.bashrc
134136
# It will pause waiting for the debugger to attach.
135137
# 3) Attach to the running container with VSCode using the "Attach to debugpy session"
136138
# configuration from the Run and Debug panel.
137-
RUN pip3 install debugpy
139+
RUN /isaac-sim/python.sh -m pip install debugpy
138140
RUN echo "alias debugpy='python -Xfrozen_modules=off -m debugpy --listen localhost:5678 --wait-for-client'" >> /etc/bash.bashrc
139141

140142
# Change prompt so it's obvious we're inside the arena container

docker/run_docker.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ else
150150
"-v" "/tmp/.X11-unix:/tmp/.X11-unix:rw"
151151
"-v" "/var/run/docker.sock:/var/run/docker.sock"
152152
"-v" "$HOME/.Xauthority:/root/.Xauthority"
153+
# Mount host SSL certificate store so the container trusts CA certs
154+
"-v" "/etc/ssl/certs:/etc/ssl/certs:ro"
153155
"--env" "DISPLAY"
154156
"--env" "ACCEPT_EULA=Y"
155157
"--env" "PRIVACY_CONSENT=Y"
@@ -160,11 +162,9 @@ else
160162
# Setting envs for XR: https://isaac-sim.github.io/IsaacLab/v2.1.0/source/how-to/cloudxr_teleoperation.html#run-isaac-lab-with-the-cloudxr-runtime
161163
"--env" "XDG_RUNTIME_DIR=${WORKDIR}/submodules/IsaacLab/openxr/run"
162164
"--env" "XR_RUNTIME_JSON=${WORKDIR}/submodules/IsaacLab/openxr/share/openxr/1/openxr_cloudxr.json"
163-
# NOTE(alexmillane, 2025.07.23): This looks a bit suspect to me. We should be running
164-
# as a user inside the container, not root. I've left it in for now, but we should
165-
# remove it, if indeed it's not needed.
166-
# "--env" "OMNI_KIT_ALLOW_ROOT=1"
167165
"--env" "ISAACLAB_PATH=${WORKDIR}/submodules/IsaacLab"
166+
# Tell requests/urllib3 to use the system cert bundle
167+
"--env" "REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt"
168168
)
169169

170170
# map omniverse auth or config so we have connection to the dev nucleus

0 commit comments

Comments
 (0)