Added docker support + 1 command installation using docker-compose (#8578)

* Added cpu docker support
* add gpu docker support + docker compose for ease of use
This commit is contained in:
mhwahdan 2023-08-26 02:49:28 +03:00 committed by GitHub
parent d5e0450290
commit ea4f126cea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 116 additions and 0 deletions

49
Dockerfile.cpu Normal file
View File

@ -0,0 +1,49 @@
FROM ubuntu:latest AS builder
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y
RUN apt-get install -y g++ make pkg-config libopencv-dev
COPY . /darknet
WORKDIR /darknet
RUN rm Dockerfile.cpu
RUN rm Dockerfile.gpu
RUN rm Docker-compose.yml
RUN make
FROM ubuntu:latest
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y
RUN apt-get install -y sudo libgomp1
RUN useradd -U -m yolo
RUN usermod -aG sudo yolo
RUN usermod --shell /bin/bash yolo
RUN echo "yolo:yolo" | chpasswd
COPY --from=builder /darknet /home/yolo/darknet
RUN cp /home/yolo/darknet/libdarknet.so /usr/local/lib/libdarknet.so || echo "libso not used"
RUN cp /home/yolo/darknet/include/darknet.h /usr/local/include/darknet.h
RUN ldconfig
WORKDIR /home/yolo/darknet
USER yolo

47
Dockerfile.gpu Normal file
View File

@ -0,0 +1,47 @@
FROM nvidia/cuda:11.6.0-cudnn8-devel-ubuntu20.04 AS builder
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y
RUN apt-get install -y g++ make pkg-config libopencv-dev
COPY . /darknet
WORKDIR /darknet
RUN rm Dockerfile.cpu
RUN rm Dockerfile.gpu
RUN rm Docker-compose.yml
RUN make
FROM nvidia/cuda:11.6.0-cudnn8-devel-ubuntu20.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -y
RUN apt-get install -y sudo libgomp1
RUN useradd -U -m yolo
RUN usermod -aG sudo yolo
RUN usermod --shell /bin/bash yolo
RUN echo "yolo:yolo" | chpasswd
COPY --from=builder /darknet /home/yolo/darknet
RUN cp /home/yolo/darknet/libdarknet.so /usr/local/lib/libdarknet.so || echo "libso not used"
RUN cp /home/yolo/darknet/include/darknet.h /usr/local/include/darknet.h
RUN ldconfig
WORKDIR /home/yolo/darknet
USER yolo

20
docker-compose.yml Normal file
View File

@ -0,0 +1,20 @@
version: '2'
services:
yolo-gpu:
build:
context: .
dockerfile: Dockerfile.gpu
image: yolo:gpu
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
yolo-cpu:
build:
context: .
dockerfile: Dockerfile.cpu
image: yolo:cpu