RとPythonのDocker作業環境の構築
# 前提
WSL2でdocker環境を構築していること
(構築方法は以下で紹介)
コマンドプロンプトを管理者権限で開いて、WSL上で操作していること
[WSLでdockerの環境構築](https://qiita.com/SeijMura/items/a61f3d8d693d7c9f4efb)
# Dockerfile
以下のコードを、ローカルの作業ディレクトリ内に"Dockerfile"という名前で配置してください。
FROM ubuntu:18.04 # set timezone RUN apt-get update \ && apt-get install tzdata \ && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime RUN date # install packages RUN ["/bin/bash", "-c", "\ apt-get update \ && apt-get install -y \ vim \ build-essential \ git curl llvm sqlite3 libssl-dev libbz2-dev \ libreadline-dev libsqlite3-dev libncurses5-dev \ libncursesw5-dev python-tk python3-tk tk-dev aria2 \ lsb-release \ python3.8 python3-pip \ "] # install pip package RUN pip3 install pip --upgrade RUN pip3 install pipenv RUN python3 --version RUN ["/bin/bash", "-c", "apt-get install -y software-properties-common"] RUN apt-add-repository ppa:ansible/ansible -y # install r RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 #RUN add-apt-repository 'deb https://cran.rstudio.com/bin/linux/ubuntu $(lsb_release -cs)-cran35/' RUN add-apt-repository 'deb https://cran.rstudio.com/bin/linux/ubuntu bionic-cran35/' RUN ["/bin/bash", "-c", "\ apt-get update \ && apt-get install -y r-base \ "] RUN Rscript --version CMD ["/bin/bash", "-c"]
# ビルドと実行
Dockerfileがあるディレクトリ内に、以下のシェルスクリプトを配置します。
#!/bin/bash step1="" # build step2=do # run CONTAINER=好きなコンテナ名 TAG=好きなタグ名 NAME=${CONTAINER}:${TAG} if [ $step1 ]; then sudo docker build -t $NAME . fi if [ $step2 ] ; then sudo docker run -itv `pwd`:/mnt/work $NAME /bin/bash fi
step1=doとするとビルドを実行し、
step2=doとするとコンテナを起動します。
CONTAINERに好きなコンテナ名を、TAGに好きなタグ名を指定してください。
以下のコマンドでシェルを実行できます。(シェルスクリプトはhoge.shとします)
chmod u+x hoge.sh ./hoge.sh