forked from jheinen/GR.jl
/
Dockerfile
36 lines (36 loc) · 1.4 KB
/
Dockerfile
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
FROM jupyter/base-notebook
USER root
# install Julia packages in /opt/julia instead of $HOME
ENV JULIA_DEPOT_PATH=/opt/julia
# Julia dependencies
RUN apt-get update && apt-get install -my wget curl gnupg && \
wget https://julialang-s3.julialang.org/bin/linux/x64/1.3/julia-1.3.0-linux-x86_64.tar.gz && \
tar -xzvf julia-1.3.0-linux-x86_64.tar.gz && ls && \
cp -R julia-1.3.0/* /usr && \
rm -rf $HOME/julia-1.3.0*
# Show Julia where conda libraries are
RUN echo "push!(Libdl.DL_LOAD_PATH, \"$CONDA_DIR/lib\")" >> /usr/etc/julia/juliarc.jl && \
# Create JULIA_DEPOT_PATH
mkdir $JULIA_DEPOT_PATH && \
chown -R $NB_USER:users $JULIA_DEPOT_PATH
RUN apt-get install -my libnlopt0
# GR3 dependencies
RUN apt-get install -my xvfb
# PackageCompiler dependencies
RUN apt-get install -my gcc
USER $NB_USER
# Julia packages
RUN julia -E 'using Pkg; pkg"add GR IJulia PackageCompiler"' && \
# precompile Julia packages \
julia -e 'using GR' && \
julia -e 'using IJulia' && \
julia -e 'using PackageCompiler' && \
# move kernelspec out of home \
mv $HOME/.local/share/jupyter/kernels/julia* $CONDA_DIR/share/jupyter/kernels/ && \
chmod -R go+rx $CONDA_DIR/share/jupyter && \
rm -rf $HOME/.local
COPY examples/*.ipynb work/
COPY examples/snoop.jl work/
COPY scripts/docker-xvfb-run /usr/bin/xvfb-run
ENTRYPOINT ["/bin/sh", "-c", "exec xvfb-run $0 $@"]
CMD ["jupyter", "notebook"]