From f997e29e457e510e53382bf619c2729db47ead74 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Fri, 22 Sep 2023 15:20:12 -0400 Subject: [PATCH] Add `Dockerfile.build` for building linux binaries (#558) Add `Dockerfile.build` for building linux binaries --------- Co-authored-by: Michael Yang --- .dockerignore | 2 ++ Dockerfile.build | 29 +++++++++++++++++++++++++++++ scripts/build_linux.sh | 12 ++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 Dockerfile.build create mode 100755 scripts/build_linux.sh diff --git a/.dockerignore b/.dockerignore index 6f21a80c..f6a9a8b8 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,7 @@ .vscode ollama app +dist +scripts llm/llama.cpp/ggml llm/llama.cpp/gguf diff --git a/Dockerfile.build b/Dockerfile.build new file mode 100644 index 00000000..ff85d862 --- /dev/null +++ b/Dockerfile.build @@ -0,0 +1,29 @@ +ARG VERSION=0.0.0 + +# centos7 amd64 dependencies +FROM --platform=linux/amd64 nvidia/cuda:11.8.0-devel-centos7 AS base-amd64 +RUN yum install -y https://repo.ius.io/ius-release-el7.rpm centos-release-scl && \ + yum update -y && \ + yum install -y devtoolset-10-gcc devtoolset-10-gcc-c++ git236 wget +RUN wget "https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6-linux-x86_64.sh" -O cmake-installer.sh && chmod +x cmake-installer.sh && ./cmake-installer.sh --skip-license --prefix=/usr/local +ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH + +# centos8 arm64 dependencies +FROM --platform=linux/arm64 nvidia/cuda:11.4.3-devel-centos8 AS base-arm64 +RUN sed -i -e 's/mirrorlist/#mirrorlist/g' -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* +RUN yum install -y git cmake + +FROM base-${TARGETARCH} +ARG TARGETARCH + +# install go +ADD https://dl.google.com/go/go1.21.1.linux-$TARGETARCH.tar.gz /tmp/go1.21.1.tar.gz +RUN mkdir -p /usr/local && tar xz -C /usr/local