File size: 1,708 Bytes
853bfba
 
018c1a0
 
853bfba
018c1a0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
853bfba
 
018c1a0
853bfba
 
 
018c1a0
 
853bfba
 
 
018c1a0
853bfba
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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