Unable to change working directory of Deepstream Docker Image

Setup Info:
Platform: Jetson Xavier
Deepstream Version: 6.1
Jetpack Version: 5.0.1
TensorRT Version: 8.4.0
Issue Type: question

Hello everyone,
I am running into a problem building a Deepstream application on top of an NVIDIA base image.

FROM nvcr.io/nvidia/deepstream-l4t:6.1-samples

RUN apt update -y
RUN apt upgrade -y

# GStreamer Dependencies
RUN apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev \
    gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
    gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl \
    gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

# Gst RTSP Server
RUN apt install -y libgstrtspserver-1.0-dev gstreamer1.0-rtsp

# Deepstream Dependencies
RUN apt install -y python3-gi python3-dev python3-gst-1.0 python-gi-dev git python-dev \
    python3 python3-pip python3.8-dev cmake g++ build-essential libglib2.0-dev \
    libglib2.0-dev-bin libgstreamer1.0-dev libtool m4 autoconf automake libgirepository1.0-dev libcairo2-dev

# Clone the Deepstream Python Apps Repo into <deepstream>/sources
WORKDIR /opt/nvidia/deepstream/deepstream/sources
RUN git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps.git

# Download and install the Deepstream Python Bindings
RUN mkdir /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/bindings/build
WORKDIR /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/bindings/build
RUN curl -O -L https://github.com/NVIDIA-AI-IOT/deepstream_python_apps/releases/download/v1.1.3/pyds-1.1.3-py3-none-linux_aarch64.whl
RUN pip install ./pyds-1.1.3-py3-none-linux_aarch64.whl

# Set env

# Copy the project folder
COPY . /app


CMD ["bash", "start.sh"]

start.sh is located within /app. However the workdir for the CMD command will always default to /opt/nvidia/deepstream/deepstream.
Can you tell me what I’m doing wrong?

The WORKDIR instruction sets the working directory for any RUN , CMD , ENTRYPOINT , COPY and ADD instructions that follow it in the Dockerfile

Did you set -w /opt/nvidia/deepstream/deepstream in your docker command?

Yes, I keep the run command in a seperate shell file and forgot about it.
Sorry for the inconvenience.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.