-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprobzelus.docker
41 lines (31 loc) · 1.38 KB
/
probzelus.docker
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
############################################################
# Dockerfile to build ProbZelus docker image
# Based on the debian image from OWL
# Build with `docker build -t probzelus -f probzelus.docker .`
# Run with `docker run -ti --rm probzelus bash`
# For graphics:
# - First run `xhost + 127.0.0.1`
# - Add option `-e DISPLAY=host.docker.internal:0` to `docker run`
############################################################
FROM ocaml/opam2:4.10
USER opam
##################### PREREQUISITES ########################
RUN sudo apt-get -y update \
&& sudo apt-get -y install \
m4 wget unzip aspcud libshp-dev libplplot-dev gfortran pkg-config git \
libopenblas-dev liblapacke-dev time
###################### INSTALL OWL #########################
ENV OWLPATH /home/opam/owl
WORKDIR /home/opam/opam-repository
RUN git pull --quiet origin master \
&& opam update -q \
&& opam install -y graphics owl owl-top owl-plplot zelus mtime csv \
&& echo "#require \"owl-top\";; open Owl;;" >> /home/opam/.ocamlinit \
&& echo 'eval $(opam env)' >> /home/opam/.bashrc
####################### COPY FILES #########################
RUN mkdir -p /home/opam/probzelus
COPY --chown=opam . /home/opam/probzelus
#################### INSTALL PROBZELUS #####################
WORKDIR /home/opam/probzelus
RUN opam pin -k path -y zelus-owl \
&& opam pin -k path -y probzelus