Skip to content

Commit

Permalink
Added docker support + 1 command installation using docker-compose (#…
Browse files Browse the repository at this point in the history
…8578)

* Added cpu docker support
* add gpu docker support + docker compose for ease of use
  • Loading branch information
mhwahdan committed Aug 25, 2023
1 parent d5e0450 commit ea4f126
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 0 deletions.
49 changes: 49 additions & 0 deletions Dockerfile.cpu
Original file line number Diff line number Diff line change
@@ -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 changes: 47 additions & 0 deletions Dockerfile.gpu
Original file line number Diff line number Diff line change
@@ -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 changes: 20 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit ea4f126

Please sign in to comment.