Skip to content

Commit f438ac6

Browse files
committed
[docker] split deps and image
1 parent b8df673 commit f438ac6

2 files changed

Lines changed: 52 additions & 28 deletions

File tree

Dockerfile

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ARG CUDA_TAG=9.2-devel
2-
FROM nvidia/cuda:$CUDA_TAG
2+
ARG OS_TAG=18.04
3+
FROM alicevision/popsift:deps-cuda${CUDA_TAG}-ubuntu${OS_TAG}
34
LABEL maintainer="AliceVision Team alicevision@googlegroups.com"
45

56
# use CUDA_TAG to select the image version to use
@@ -16,32 +17,9 @@ LABEL maintainer="AliceVision Team alicevision@googlegroups.com"
1617
# Cuda version (ENV): $CUDA_VERSION
1718

1819
# System update
19-
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends\
20-
build-essential \
21-
wget \
22-
unzip \
23-
libtool \
24-
automake \
25-
libssl-dev \
26-
libpng12-dev \
27-
libjpeg-turbo8-dev \
28-
libdevil-dev \
29-
libboost-filesystem-dev \
30-
libboost-system-dev \
31-
libboost-program-options-dev \
32-
libboost-thread-dev \
33-
&& rm -rf /var/lib/apt/lists/*
34-
35-
# Manually install cmake
36-
WORKDIR /tmp/cmake
37-
RUN wget https://cmake.org/files/v3.17/cmake-3.17.1.tar.gz && \
38-
tar zxvf cmake-3.17.1.tar.gz
39-
WORKDIR /tmp/cmake/cmake-3.17.1
40-
RUN ./bootstrap --prefix=/usr/local -- -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_USE_OPENSSL:BOOL=ON && \
41-
make -j2 install
42-
WORKDIR /tmp
43-
RUN rm -rf cmake
44-
4520
COPY . /opt/popsift
4621
WORKDIR /opt/popsift/build
47-
RUN cmake .. -DCMAKE_BUILD_TYPE=Release && make install -j 2
22+
RUN cmake .. -DCMAKE_BUILD_TYPE=Release && \
23+
make install -j $(nproc) && \
24+
cd /opt && \
25+
rm -rf popsift

Dockerfile_deps

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
ARG CUDA_TAG=10.2
2+
ARG OS_TAG=18.04
3+
FROM nvidia/cuda:${CUDA_TAG}-devel-ubuntu${OS_TAG}
4+
LABEL maintainer="AliceVision Team alicevision@googlegroups.com"
5+
6+
# use CUDA_TAG to select the image version to use
7+
# see https://hub.docker.com/r/nvidia/cuda/
8+
#
9+
# For example, to create a ubuntu 16.04 with cuda 8.0 for development, use
10+
# docker build --build-arg CUDA_TAG=8.0 --tag alicevision/popsift:deps-cuda${CUDA_TAG}-ubuntu${OS_TAG} .
11+
#
12+
# then execute with nvidia docker (https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0))
13+
# docker run -it --runtime=nvidia popsift_deps
14+
15+
16+
# OS/Version (FILE): cat /etc/issue.net
17+
# Cuda version (ENV): $CUDA_VERSION
18+
19+
# System update
20+
RUN apt-get clean && apt-get update && apt-get install -y --no-install-recommends\
21+
build-essential \
22+
wget \
23+
unzip \
24+
libtool \
25+
automake \
26+
libssl-dev \
27+
libpng12-dev \
28+
libjpeg-turbo8-dev \
29+
libdevil-dev \
30+
libboost-filesystem-dev \
31+
libboost-system-dev \
32+
libboost-program-options-dev \
33+
libboost-thread-dev \
34+
&& rm -rf /var/lib/apt/lists/*
35+
36+
# Manually install cmake
37+
WORKDIR /tmp/cmake
38+
ENV CMAKE_VERSION=3.17
39+
ENV CMAKE_VERSION_FULL=${CMAKE_VERSION}.2
40+
RUN wget https://cmake.org/files/v3.17/cmake-${CMAKE_VERSION_FULL}.tar.gz && \
41+
tar zxvf cmake-${CMAKE_VERSION_FULL}.tar.gz && \
42+
cd cmake-${CMAKE_VERSION_FULL} && \
43+
./bootstrap --prefix=/usr/local -- -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_USE_OPENSSL:BOOL=ON && \
44+
make -j8 install && \
45+
cd /tmp && \
46+
rm -rf cmake

0 commit comments

Comments
 (0)