Skip to content

Commit

Permalink
Update dockerfiles for heavy.ai, cuda 11.4, smaller sds image
Browse files Browse the repository at this point in the history
* docker: also use slimmer dockerfile for sds

* docker: bump deps images to cuda 11.4

* docker: rebrand to heavyai
  • Loading branch information
andrewseidl committed Mar 17, 2022
1 parent 9515de2 commit 589eee4
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 23 deletions.
6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1195,7 +1195,11 @@ install(PROGRAMS scripts/innerstartheavy DESTINATION "scripts")
install(PROGRAMS insert_sample_data DESTINATION ".")

if("${MAPD_EDITION_LOWER}" STREQUAL "ee")
install(DIRECTORY docker/sds DESTINATION "docker")
if(ENABLE_CUDA)
install(FILES docker/sds/Dockerfile.cuda RENAME Dockerfile DESTINATION "docker/sds")
else()
install(FILES docker/sds/Dockerfile.cpu RENAME Dockerfile DESTINATION "docker/sds")
endif()
endif()
install(FILES docker/README.md DESTINATION "docker")
if(ENABLE_CUDA OR ENABLE_RENDERING)
Expand Down
18 changes: 9 additions & 9 deletions docker/Dockerfile.cpu
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Copy and extract OmniSci tarball. In own stage so that the temporary tarball
# Copy and extract HEAVY.AI tarball. In own stage so that the temporary tarball
# isn't included in a layer.
FROM ubuntu:18.04 AS extract

WORKDIR /omnisci/
COPY omnisci-latest-Linux-x86_64-cpu.tar.gz /omnisci/
RUN tar xvf omnisci-latest-Linux-x86_64-cpu.tar.gz --strip-components=1 && \
rm -rf omnisci-latest-Linux-x86_64-cpu.tar.gz
WORKDIR /opt/heavyai/
COPY heavyai-latest-Linux-x86_64-cpu.tar.gz /opt/heavyai/
RUN tar xvf heavyai-latest-Linux-x86_64-cpu.tar.gz --strip-components=1 && \
rm -rf heavyai-latest-Linux-x86_64-cpu.tar.gz

# Build final stage
FROM ubuntu:18.04
LABEL maintainer "Andrew Seidl <andrew@omnisci.com>"
LABEL maintainer "Andrew Seidl <andrew@heavy.ai>"

RUN apt-get update && apt-get install -y --no-install-recommends \
libldap-2.4-2 \
Expand All @@ -21,10 +21,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
apt-get remove --purge -y && \
rm -rf /var/lib/apt/lists/*

COPY --from=extract /omnisci /omnisci
COPY --from=extract /opt/heavyai /opt/heavyai

WORKDIR /omnisci
WORKDIR /opt/heavyai

EXPOSE 6274 6273

CMD /omnisci/startheavy --non-interactive --data /var/lib/heavyai/storage --config /var/lib/heavyai/heavy.conf
CMD /opt/heavyai/startheavy --non-interactive --data /var/lib/heavyai/storage --config /var/lib/heavyai/heavy.conf
18 changes: 9 additions & 9 deletions docker/Dockerfile.cuda
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Copy and extract OmniSci tarball. In own stage so that the temporary tarball
# Copy and extract HEAVY.AI tarball. In own stage so that the temporary tarball
# isn't included in a layer.
FROM ubuntu:18.04 AS extract

WORKDIR /omnisci/
COPY omnisci-latest-Linux-x86_64.tar.gz /omnisci/
RUN tar xvf omnisci-latest-Linux-x86_64.tar.gz --strip-components=1 && \
rm -rf omnisci-latest-Linux-x86_64.tar.gz
WORKDIR /opt/heavyai/
COPY heavyai-latest-Linux-x86_64.tar.gz /opt/heavyai/
RUN tar xvf heavyai-latest-Linux-x86_64.tar.gz --strip-components=1 && \
rm -rf heavyai-latest-Linux-x86_64.tar.gz

# Build final stage
FROM nvidia/cudagl:11.0-runtime-ubuntu18.04
LABEL maintainer "Andrew Seidl <andrew@omnisci.com>"
LABEL maintainer "Andrew Seidl <andrew@heavy.ai>"

ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,graphics

Expand All @@ -27,7 +27,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
apt-get remove --purge -y && \
rm -rf /var/lib/apt/lists/*

COPY --from=extract /omnisci /omnisci
COPY --from=extract /opt/heavyai /opt/heavyai

# UDF support
RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-9 100
Expand All @@ -36,8 +36,8 @@ ENV CPLUS_INCLUDE_PATH=/usr/lib/llvm-9/lib/clang/9.0.0/include
RUN mkdir -p /etc/vulkan/icd.d && \
echo '{ "file_format_version" : "1.0.0", "ICD" : { "library_path" : "libGLX_nvidia.so.0", "api_version" : "1.1.99" } }' > /etc/vulkan/icd.d/nvidia_icd.json

WORKDIR /omnisci
WORKDIR /opt/heavyai

EXPOSE 6274 6273

CMD /omnisci/startheavy --non-interactive --data /var/lib/heavyai/storage --config /var/lib/heavyai/heavy.conf
CMD /opt/heavyai/startheavy --non-interactive --data /var/lib/heavyai/storage --config /var/lib/heavyai/heavy.conf
2 changes: 1 addition & 1 deletion docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ which will assign the name `heavyai/heavyai` and the tag `v6.0.0` to the image.

### Image layout

The data directory is at `/var/lib/heavyai/data`.
The data directory is at `/var/lib/heavyai/storage`.

The config file lives at `/var/lib/heavyai/heavy.conf`.

Expand Down
2 changes: 1 addition & 1 deletion docker/build/centos7/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build libglvnd for libGL, libEGL, libOpenGL
# Not currently pulled in by nvidia-docker2
FROM omnisci/nvidia_cudagl:11.0-devel-centos7
FROM nvidia/cudagl:11.4.2-devel-centos7

ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,graphics

Expand Down
2 changes: 1 addition & 1 deletion docker/build/ubuntu1804/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build libglvnd for libGL, libEGL, libOpenGL
# Not currently pulled in by nvidia-docker2
FROM nvidia/cudagl:11.0-devel-ubuntu18.04
FROM nvidia/cudagl:11.4.2-devel-ubuntu18.04

ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,graphics

Expand Down
2 changes: 1 addition & 1 deletion docker/build/ubuntu1804/Dockerfile.jenkins-ssh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker-internal.mapd.com/mapd/core-build-ubuntu1804-cuda11.0
FROM docker-internal.mapd.com/mapd/core-build-ubuntu1804-cuda11.4

RUN ln -snf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
RUN echo America/Los_Angeles > /etc/timezone
Expand Down

0 comments on commit 589eee4

Please sign in to comment.