ARG BASE_IMG=nvidia/cuda:12.4.1-devel-ubuntu22.04 FROM ${BASE_IMG} ARG USERNAME=user ARG WORKDIR=/home/${USERNAME}/YOLO SHELL ["/bin/bash", "-c"] ENV CUDA_HOME=/usr/local/cuda ENV PATH=${PATH}:${CUDA_HOME}/bin ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64 RUN apt-get update \ && apt-get install -y \ sudo \ curl \ gcc \ git \ make \ wget \ zlib1g \ protobuf-compiler \ libgl1-mesa-dev \ graphviz \ python-is-python3 \ python3-pip \ && apt clean \ && rm -rf /var/lib/apt/lists/* # Make user RUN echo "root:root" | chpasswd \ && useradd \ --create-home \ --home-dir /home/${USERNAME} \ --shell /bin/bash \ --user-group \ --groups adm,sudo \ ${USERNAME} \ && echo "${USERNAME}:${USERNAME}" | chpasswd \ && cat /dev/null > /etc/sudoers.d/${USERNAME} \ && echo "%${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> \ /etc/sudoers.d/${USERNAME} \ && mkdir -p ${WORKDIR} \ && chown ${USERNAME}:${USERNAME} ${WORKDIR} USER ${USERNAME} WORKDIR ${WORKDIR} COPY docker/requirements-locked.txt /app/requirements-locked.txt COPY requirements.txt /app/requirements.txt # Install any needed packages specified in requirements.txt RUN pip install --no-cache-dir -r /app/requirements-locked.txt RUN pip install --no-cache-dir -r /app/requirements.txt RUN git clone https://github.com/WongKinYiu/YOLO.git . # Ensure pip-installed packages are available in the PATH RUN echo 'export PATH=${PATH}:${HOME}/.local/bin' >> ~/.bashrc # Optional: Source .bashrc to apply changes in the current session RUN source ~/.bashrc