YOLO / docker /Dockerfile
henry000's picture
πŸš€ [Refactor] Docker structure, move to docker dir
853bfba
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