mirror of
https://github.com/dogkeeper886/ollama37.git
synced 2025-12-10 15:57:04 +00:00
Reorganize Docker build infrastructure for better maintainability
- Restructure from ollama37/ to docker/ with clear separation
- Separate builder and runtime images into dedicated directories
- Group environment scripts in builder/scripts/ subdirectory
- Add comprehensive root-level README.md (257 lines)
- Add .dockerignore files for optimized build contexts
- Enhance shell scripts with shebangs and documentation headers
- Update docker-compose.yml to build locally instead of pulling
- Add environment variables for GPU and host configuration
- Remove duplicate Dockerfile and confusing nested structure
New structure:
docker/
├── README.md (comprehensive documentation)
├── docker-compose.yml (local build support)
├── builder/ (build environment: CUDA 11.4 + GCC 10 + Go 1.24)
│ ├── Dockerfile
│ ├── README.md
│ ├── .dockerignore
│ └── scripts/ (organized environment setup)
└── runtime/ (production image)
├── Dockerfile
├── README.md
└── .dockerignore
This reorganization eliminates confusion, removes duplication, and
provides a professional, maintainable structure for Tesla K80 builds.
This commit is contained in:
51
docker/builder/Dockerfile
Normal file
51
docker/builder/Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
||||
FROM rockylinux/rockylinux:8
|
||||
|
||||
# Update OS and install cuda toolkit 11.4 and nvdia driver 470
|
||||
RUN dnf -y update\
|
||||
&& dnf -y install epel-release\
|
||||
&& dnf -y config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo\
|
||||
&& dnf -y module install nvidia-driver:470-dkms\
|
||||
&& dnf -y install cuda-11-4
|
||||
|
||||
# Post install, setup path
|
||||
COPY cuda-11.4.sh /etc/profile.d/cuda-11.4.sh
|
||||
|
||||
# Install gcc 10
|
||||
RUN dnf -y install wget unzip lbzip2\
|
||||
&& dnf -y groupinstall "Development Tools"\
|
||||
&& cd /usr/local/src\
|
||||
&& wget https://github.com/gcc-mirror/gcc/archive/refs/heads/releases/gcc-10.zip\
|
||||
&& unzip gcc-10.zip\
|
||||
&& cd gcc-releases-gcc-10\
|
||||
&& contrib/download_prerequisites\
|
||||
&& mkdir /usr/local/gcc-10\
|
||||
&& cd /usr/local/gcc-10\
|
||||
&& /usr/local/src/gcc-releases-gcc-10/configure --disable-multilib\
|
||||
&& make -j ${nproc}\
|
||||
&& make install
|
||||
|
||||
# Post install, setup path
|
||||
COPY gcc-10.sh /etc/profile.d/gcc-10.sh
|
||||
COPY gcc-10.sh /etc/ld.so.conf.d/gcc-10.conf
|
||||
|
||||
# Install cmake
|
||||
ENV LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/cuda-11.4/lib64"
|
||||
ENV PATH="/usr/local/cuda-11.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
RUN dnf -y install openssl-devel\
|
||||
&& cd /usr/local/src\
|
||||
&& wget https://github.com/Kitware/CMake/releases/download/v4.0.0/cmake-4.0.0.tar.gz\
|
||||
&& tar xvf cmake-4.0.0.tar.gz\
|
||||
&& mkdir /usr/local/cmake-4\
|
||||
&& cd /usr/local/cmake-4\
|
||||
&& /usr/local/src/cmake-4.0.0/configure\
|
||||
&& make -j ${nproc}\
|
||||
&& make install
|
||||
|
||||
# Install go
|
||||
RUN cd /usr/local\
|
||||
&& wget https://go.dev/dl/go1.24.2.linux-amd64.tar.gz\
|
||||
&& tar xvf go1.24.2.linux-amd64.tar.gz
|
||||
|
||||
# Post install, setup path
|
||||
COPY go-1.24.2.sh /etc/profile.d/go-1.24.2.sh
|
||||
ENV PATH="$PATH:/usr/local/go/bin"
|
||||
Reference in New Issue
Block a user