This repository has been archived by the owner on Mar 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 22
/
Dockerfile.ubuntu-20.04
executable file
·85 lines (74 loc) · 1.82 KB
/
Dockerfile.ubuntu-20.04
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2016-2021, Intel Corporation
#
# Dockerfile - a 'recipe' for Docker to build an image of ubuntu-based
# environment prepared for running pmemkv-java build and tests.
#
# Pull base image
FROM ubuntu:20.04
MAINTAINER szymon.romik@intel.com
# Set required environment variables
ENV OS ubuntu
ENV OS_VER 20.04
ENV PACKAGE_MANAGER deb
ENV NOTTY 1
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
# Additional parameters to build docker without building components
ARG SKIP_PMDK_BUILD
ARG SKIP_LIBPMEMOBJ_CPP_BUILD
ARG SKIP_PMEMKV_BUILD
ARG SKIP_DEPENDENCIES_BUILD
# Update the Apt cache and install basic tools
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
autoconf \
automake \
build-essential \
clang \
cmake \
curl \
debhelper \
devscripts \
fakeroot \
git \
libc6-dbg \
libdaxctl-dev \
libgtest-dev \
libmemkind-dev \
libndctl-dev \
libnode-dev \
libnuma-dev \
libtbb-dev \
libtext-diff-perl \
libtool \
libunwind8-dev \
maven \
numactl \
openjdk-8-jdk \
pandoc \
pkg-config \
rapidjson-dev \
sudo \
wget \
whois \
&& rm -rf /var/lib/apt/lists/*
# Install pmdk
COPY install-pmdk.sh install-pmdk.sh
RUN ./install-pmdk.sh dpkg
# Install pmdk c++ bindings
COPY install-libpmemobj-cpp.sh install-libpmemobj-cpp.sh
RUN ./install-libpmemobj-cpp.sh DEB
# Prepare pmemkv
COPY prepare-pmemkv.sh prepare-pmemkv.sh
RUN ./prepare-pmemkv.sh DEB
# Setup maven settings
COPY setup-maven-settings.sh setup-maven-settings.sh
RUN ./setup-maven-settings.sh
# Install dependencies for the java binding so it can be built offline
COPY install-dependencies.sh install-dependencies.sh
RUN ./install-dependencies.sh DEB
# Add user
ENV USER user
ENV USERPASS pass
RUN useradd -m $USER -g sudo -p `mkpasswd $USERPASS`
USER $USER