Julia Development Environment

DockerでCentOS7上にJulia開発環境を構築

Dockerfile

FROM centos:7

# configure root user
RUN echo 'root:root' | chpasswd

# configure development user
ARG user=me
RUN groupadd ${user} && \
 useradd -g ${user} -m ${user} -s /bin/bash && \
 echo "${user}:${user}" | chpasswd

# install essentials
RUN yum -y update && \
 yum -y install vim less wget zip unzip make git && \
 yum clean all

# install Julia Development environment
RUN yum -y install epel-release && \
 yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/nalimilan/julia/repo/epel-7/nalimilan-julia-epel-7.repo && \
 yum -y install julia

イメージビルド

docker image build -f ./Dockerfile -t centos7:dev_julia .

コンテナ生成&起動

docker container run -i -t --rm centos7:dev_julia su - me

ホストをマウントする場合

docker container run -i -t --rm \
--mount type=bind,src=/Users/me/code,dst=/home/me/code \
centos7:dev_julia su - me

DockerでUbuntu18.04上にJulia開発環境を構築

Dockerfile

FROM ubuntu:18.04

# configure root user
RUN echo 'root:root' | chpasswd

# configure development user
ARG user=me
RUN groupadd ${user} && \
 useradd -g ${user} -m ${user} -s /bin/bash && \
 echo "${user}:${user}" | chpasswd

# install essentials
RUN apt update && apt -y upgrade && \
 apt -y install vim less wget curl zip make git && \
 apt clean

# install Julia Development environment
ARG julia=julia-1.1.1
RUN cd /opt && \
 curl -SL https://julialang-s3.julialang.org/bin/linux/x64/1.1/${julia}-linux-x86_64.tar.gz | tar xz && \
 ln -s /opt/${julia}/bin/julia /usr/local/bin/julia

イメージビルド

docker image build -f ./Dockerfile -t ubuntu18.04:dev_julia .

コンテナ生成&起動

docker container run -i -t --rm ubuntu18.04:dev_julia su - me

ホストをマウントする場合

docker container run -i -t --rm \
--mount type=bind,src=/Users/me/code,dst=/home/me/code \
ubuntu18.04:dev_julia su - me