-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile-ubuntu22
75 lines (59 loc) · 2.33 KB
/
Dockerfile-ubuntu22
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
# Ubuntu https://hub.docker.com/_/ubuntu
#-----------------------------------------------------------------------------------------
#
# docker_build_image ubuntu:jammy Dockerfile-ubuntu22 base:ubuntu22 "--no-cache"
# docker_run_image base:ubuntu22 [i]
# docker_tag_and_push_image jeffersonlab/base:ubuntu22
#
#-----------------------------------------------------------------------------------------
FROM imagetemplate
LABEL maintainer="Maurizio Ungaro <[email protected]>"
# run shell instead of sh
SHELL ["/bin/bash", "-c"]
# Update needed at beginning to use the right package repos
RUN apt update
# Install ca-certificates tools
RUN apt-get install -y ca-certificates
# JLab certificate
ADD https://pki.jlab.org/JLabCA.crt /etc/pki/ca-trust/source/anchors/JLabCA.crt
RUN update-ca-certificates
# no interactive session to identify the timezone
RUN ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime \
&& DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends tzdata \
git make cmake g++ \
expat libexpat1-dev \
libmysqlclient-dev libsqlite3-dev \
libpython3-dev scons \
libglu1-mesa-dev libx11-dev libxpm-dev libxft-dev libxt-dev libxmu-dev libxrender-dev xvfb x11-xserver-utils\
bzip2 wget curl nano which bash tcsh zsh hostname gedit environment-modules \
psmisc procps mailcap net-tools \
libcpandb-perl \
xterm \
x11vnc novnc \
fluxbox supervisor \
qtbase5-dev libqt5widgets5 libqt5opengl5-dev libqt5printsupport5 \
&& apt update \
&& apt autoclean
# root installed using tarball
ENV ROOT_RELEASE=6.30.04
ENV ROOT_FILE=root_v${ROOT_RELEASE}.Linux-ubuntu22.04-x86_64-gcc11.4.tar.gz
ENV ROOT_INSTALL_DIR=/usr/local
RUN cd ${ROOT_INSTALL_DIR} \
&& wget https://root.cern/download/${ROOT_FILE} \
&& tar -xzvf ${ROOT_FILE} \
&& rm ${ROOT_FILE} \
&& echo "cd ${ROOT_INSTALL_DIR}/root ; source bin/thisroot.sh ; cd -" >> /etc/profile.d/root.sh
# Setup demo environment variables
ENV HOME=/root \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
DISPLAY=:0.0 \
DISPLAY_WIDTH=1400 \
DISPLAY_HEIGHT=1000 \
RUN_XTERM=yes \
RUN_FLUXBOX=yes
COPY conf.d /app/conf.d
COPY supervisord.conf entrypoint.sh /app/
CMD ["/app/entrypoint.sh"]
EXPOSE 8080