diff --git a/Dockerfile.cpu b/Dockerfile.cpu new file mode 100644 index 00000000000..7a15cfb499e --- /dev/null +++ b/Dockerfile.cpu @@ -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 + + diff --git a/Dockerfile.gpu b/Dockerfile.gpu new file mode 100644 index 00000000000..c4a9effbbcc --- /dev/null +++ b/Dockerfile.gpu @@ -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 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000000..968fbccaaf9 --- /dev/null +++ b/docker-compose.yml @@ -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 \ No newline at end of file