Dockerを利用したRStudio環境を構築する【docker-composeを利用して】

プログラミング
LINEで送る
Pocket

はじめに

こんにちは。
以前、Jupyter Notebookを利用してPythonもRもJuliaも使えるようにしたのですが、やっぱりRを使うのはRStudioがいいよなーとなってしまったので、Dockerを利用してRStudioの環境を構築しました。

【Dockerでデータサイエンス環境構築】PythonもRもJuliaもJupyterLabで使えるようにする

RStudio

RStudioはR言語の開発環境です。Jupyter NotebookもR言語を使えるのですが、RStudioの方が入力補完が強力だったり、4ペインの画面使いやすくて便利だったりするので、R言語を使う際にはこちらの方がより良く使えると思います。

ローカル環境で利用するのもいいのですが、ローカル環境で環境構築するのは手間がかかったり、他の方と協働するときにはべージョン違いが問題になることがあったりします。そこで、以前のJupyter Notebookでの環境構築を行ったようにDockerを利用してRStudioの環境構築を行いました。なお、オプション入力がめんどくさいので、docker-compose.ymlを使用しました。

フォルダ構成

  • フォルダ(名前は何でもいいです。以下のファイルを格納します。)
    • docker-compose.yml
    • workフォルダ(名前は何でもいいですが、変更する場合はDocker-compose.yml内のvolumesを修正します。作成するコンテナとファイルを共有します。)

docker-compose.yml

Rstudioには先人の方が作成してくださっているDockerのイメージがたくさんあります。その中でも日本語環境が問題なく使えるもので、便利なtidyverseパッケージもはじめから使えるようにしているrockerjp/tidyverseのイメージを利用させていただきました。

version: "3"
services:
    rstudio:
        image: rockerjp/tidyverse:latest
        ports:
          - "8787:8787"
        environment:
          - USERNAME=rstudio
          - PASSWORD=rstudio
          - DISABLE_AUTH=true
        volumes:
          - ./work:/home/rstudio/project

environmentUSERNAMEPASSWORDを設定しているので、RStudioを立ち上げたときのUSERNAMEPASSWORDの入力を省くことができます。

volumesで、先ほど作成したworkフォルダと、コンテナ内のフォルダを同期しています。

起動

以上のファイルやディレクトリが作成できたら、コマンドプロンプトからdocker-composeupします。

docker-compose up -d

コンテナが立ち上がったら、ブラウザでhttp://localhost.8787にアクセスし、RStudioが起動すれば完了です。

RStudio + Jupyter Notebook

以前構築したJupyter Notebookも同時に使いたいことが多いので、同時にコンテナを立ち上げることができるようにもしました。

フォルダ構成は、以前の記事と同様に

  • datascienceフォルダ(名前は何でもいいです。以下のファイルを格納します。)
    • Dockerfile
    • docker-compose.yml
    • workフォルダ
      です。その中のdocker-compose.ymlに、先ほどのdocker-compose.ymlを追記するだけです。
version: "3"
services:
  jupyterlab:
    build: .
    ports:
      - "8888:8888"
    environment:
      GRANT_SUDO: "yes"
    volumes:
      - ./work:/home/jovyan/notebooks:z
    command: start.sh jupyter lab --NotebookApp.token='' --NotebookApp.contents_manager_class='jupytext.TextFileContentsManager'

  rstudio:
    image: rockerjp/tidyverse:latest
    ports:
      - "8787:8787"
    environment:
      - USERNAME=rstudio
      - PASSWORD=rstudio
      - DISABLE_AUTH=true
    volumes:
      - ./work:/home/rstudio/project

こんな感じです。
完成したら、コマンドプロンプトで当該フォルダに移動して、docker-composeupしましょう。

docker-compose up -d

無事にコンテナが立ち上がったら、ブラウザでhttp://localhost.8888およびhttp://localhost.8787にアクセスし、Jupyter NotebookとRStudioがそれぞれ起動すれば完了です。
それぞれworkフォルダを共有しているので、ファイルの行き来も楽です!

まとめ

今回はdocker-composeを利用して、RStudioの環境構築をしました。また、後半ではRStudioとJupyter Notebookのコンテナを同時に立ち上げました。
特に後半の2つの環境を同時に立ち上げる方法では、フォルダも共有しておりファイルの行き来も簡単なのでとても便利です。
よかったら利用してみてください!

今回は以上です。

LINEで送る
Pocket

コメント

タイトルとURLをコピーしました