Dockerfile 1001 B

1234567891011121314151617181920212223242526272829
  1. FROM nvidia/cuda:11.8.0-devel-ubuntu22.04
  2. ARG TARGETARCH
  3. ARG GOFLAGS="'-ldflags=-w -s'"
  4. WORKDIR /go/src/github.com/jmorganca/ollama
  5. RUN apt-get update && apt-get install -y git build-essential cmake
  6. ADD https://dl.google.com/go/go1.21.3.linux-$TARGETARCH.tar.gz /tmp/go1.21.3.tar.gz
  7. RUN mkdir -p /usr/local && tar xz -C /usr/local </tmp/go1.21.3.tar.gz
  8. COPY . .
  9. ENV GOARCH=$TARGETARCH
  10. ENV GOFLAGS=$GOFLAGS
  11. RUN /usr/local/go/bin/go generate ./... \
  12. && /usr/local/go/bin/go build .
  13. FROM ubuntu:22.04
  14. RUN apt-get update && apt-get install -y ca-certificates
  15. COPY --from=0 /go/src/github.com/jmorganca/ollama/ollama /bin/ollama
  16. EXPOSE 11434
  17. ENV OLLAMA_HOST 0.0.0.0
  18. # set some environment variable for better NVIDIA compatibility
  19. ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  20. ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
  21. ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
  22. ENTRYPOINT ["/bin/ollama"]
  23. CMD ["serve"]