fortran66のブログ

fortran について書きます。

【メモ帳】mybinder 用 gfortran-9 Dockerfile

binder で gfortran-9

gfortran-9 は、まだ add-apt-repository ppa:ubuntu-toolchain-r/test しなければならないので、binder 備え付けの apt.txt では対応できず、Dockerfile を書く必要があります。しかし mybinder サイトの説明を読んでも幼女には難しいので、Opencoarray の Dockerfile を参考にさせていただきました。

Binder Jupyter lab

Binder Jupyter Notebook

f66blog.github.io

f:id:fortran66:20190813204130p:plain
Mybinder Jupyter Gfortran-9 Docker

FROM jupyter/scipy-notebook

USER root

RUN apt-get update -y && \
    apt-get install -y --no-install-recommends software-properties-common && \
    add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
    apt-get update -y && \
    apt-get install -y --no-install-recommends build-essential \
      gcc-9>=9.1.0 \
      gfortran-9>=9.1.0 \
      g++-9>=9.1.0 \
      ${transientBuildDeps} && \
    update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 \
      --slave /usr/bin/gfortran gfortran /usr/bin/gfortran-9 && \
    update-alternatives --set gcc "/usr/bin/gcc-9" && \
    gcc --version && \
    gfortran --version && \
    apt-get clean && \
    apt-get purge -y --auto-remove ${transientBuildDeps} && \
    rm -rf /var/lib/apt/lists/* /var/log/* /tmp/*        

ARG NB_USER
ARG NB_UID
ENV USER ${NB_USER}
ENV HOME /home/${NB_USER}

USER ${NB_USER}
RUN cd ${HOME} && \
    git clone https://github.com/f66blog/binder_gf9.git && \
    cd binder_gf9  && \
    pip install --user ./jupyter-gfort-kernel  && \
    jupyter kernelspec install ./jupyter-gfort-kernel/gfort_spec --user 

WORKDIR ${HOME}/binder_gf9