Docker で Rstudio ver 1.4 をインストールする

目次
  1. Dockerイメージの削除
  2. Docker-composeを使用している場合
  3. .ymlファイルとDockerfileの確認
  4. docker-compose.yml
  5. Dockerfile
  6. docker-compose up -d を実行する。
  7. Version の確認
  8. 余談

Rstudio 1.4 がリリースされ、Docker内でも使えるようになりました。1.4 ではvisual markdown editor が特徴的です。Zoteroといったサードパーティの利用についても、APIを使うことで簡単にライブラリから引用できるようになりました。

Rstudio 1.4 今朝に色々いじってましたが、エクセルからTableをコピペで本文に貼り付けできるようになっているし、Zoteroとも連携してcitekeyを挿入できるし、純粋にMarkdownエディタとして使いやすい。 https://t.co/TX90xoNTJg

— Shoei (@shoei05) January 23, 2021

Dockerイメージの削除

キャッシュを使用しないように、現在使用しているDockerコンテナおよびイメージを削除します。

Docker-composeを使用している場合

Docker-composeの使用方法はこちらをご参照ください。

https://plaza.umin.ac.jp/shoei05/wp/index.php/2020/10/30/196/

(Macなら)TerminalでSSH接続。Windowsであれば TeraTerm((株式会社インプレス. 窓の杜. 窓の杜. Accessed February 21, 2021. https://forest.watch.impress.co.jp/library/software/utf8teraterm/))やWindows Terminal((ついに完成「Windows Terminal」の機能と使い方まとめ. @IT. Accessed February 21, 2021. https://www.atmarkit.co.jp/ait/articles/2005/28/news018.html))を使用してください。Linuxの基礎コマンドは、こちら((dotinstall. 【旧版】UNIXコマンド入門 [一般ユーザー編] (全24回). ドットインストール. Accessed February 21, 2021. https://dotinstall.com/lessons/basic_unix_v2))が動画で解説してくれて丁寧です。かめれおんさんのDocker講座((米国AI開発者がゼロから教えるDocker講座. Udemy. Accessed February 21, 2021. https://www.udemy.com/course/aidocker/))の中でも基礎コマンドについて解説してくれています。

# 自分(Mac)の場合 /Users/user から /Users/user/Dropbox/docker へ移動

cd Dropbox
cd dockerCode language: PHP (php)

Windowsを使用していて、C:ドライブからD:ドライブに移動したい場合は、

D:

と入力し、D:ドライブに移動してから目的のフォルダに移動します。

目的のフォルダに移動したら、下記コマンドで、upコマンドで作られるもの(イメージ、コンテナ、ボリューム、ネットワーク)をすべて削除します(参考)

docker-compose down --rmi all --volumes --remove-orphans

.ymlファイルとDockerfileの確認

一度、docker-compose.ymlファイルとDockerfileを見直してみます。

docker-compose.yml

version: '3'

services:
  rstudio:
    build: .
    image: geo:geospatial
    container_name: geo
    ports:
      - 8787:8787
    environment:
      PASSWORD: YOUR_PASS
    volumes:
      - ../R:/home/rstudio
    tty: true
    stdin_open: trueCode language: JavaScript (javascript)

今回、environmentオプションでrstudioのパスワードを設定しています。YOUR_PASS の部分を任意のパスワードに変更してください。

Dockerfile

Dockerfile についてはこちらの記事を参照してください。

https://plaza.umin.ac.jp/shoei05/wp/index.php/2020/10/17/56/
# ベースとするイメージ(任意のrocker/*に変更可能)
FROM rocker/geospatial:latest

# OS環境(rockerはdebianベース)に日本語ロケールを追加し切り替え
ENV LANG ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8
RUN sed -i '$d' /etc/locale.gen \
  && echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen \
    && locale-gen ja_JP.UTF-8 \
    && /usr/sbin/update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
RUN /bin/bash -c "source /etc/default/locale"
RUN ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

# 日本語フォントをインストール
RUN apt-get update && apt-get install -y \
  fonts-ipaexfont \
  fonts-noto-cjk

# {pacman}のインストール
RUN install2.r --error \
    pacmanCode language: PHP (php)

今回、最初から {pacman} をインストールしておきます。もし必要なければ一番最後の3行は削除してください。

https://plaza.umin.ac.jp/shoei05/wp/index.php/2020/10/24/145/

docker-compose up -d を実行する。

docker-compose up -d

を入力して、Docker-composeを実行します。

Recreating geo(container_name) ... done

など、すぐに終わってしまう場合は、キャッシュが残っています。今一度イメージが残っていないか確認してください。

docker images

で、現在残っているイメージを確認することができます。

# docker rmi REPOSITORY:TAG で削除
docker rmi geo:geospatialCode language: CSS (css)

などでイメージを削除して、再度 docker-compose up -d を実行してください。環境によりますが、数分ほどはかかるため、気長に待ちます。

細かい部分は省いていますが、イメージとしてはこのような感じです。

Version の確認

上記のコマンドを入力して、エラーが出なければ、無事にRStudioが起動できています。http://localhost:8787 でRstudioにアクセスし、

Help > About RStudio から Version 1.4 になっていることが確認できればインストール完了です。

Rstudio 1.4 におけるZoteroのAPIの使い方について @KunisatoY 先生((KunisatoYさん (@KunisatoY) / Twitter. Twitter. Accessed February 21, 2021. https://twitter.com/KunisatoY))が紹介してくださっています。またあらためてレビューしようと思います。

RStudioでの文献引用
1.RStudio v1.4をインストール
2.Rmarkdownファイルを開いて右端のAっぽいマークをクリックしてVisual Modeへ
3. Global optionのR MarkdownのCitationでZoteroのWebでAPIキーを設定
4. Visual modeの@みたいなマークをクリックして簡単にZoteroに入っている文献を引用できる。

— Yoshihiko Kunisato/国里愛彦 (@KunisatoY) January 22, 2021

Rstudio 1.3 での日本語の問題については、 1.4 でも下記の方法が有効です。もしくは、visual markdown editor モードにすれば日本語を問題なく入力できるようです。

https://plaza.umin.ac.jp/shoei05/wp/index.php/2021/01/03/482/

余談

余談ですが、この前はじめて某グループの もくもく会 に参加しました。

もくもく会とは、同じ場所に集まり、各自が勉強や作業を自由に黙々と進める会の総称です。名前の由来は「黙々と」から来ていると言われています。((株式会社パソナテック. エンジニアのもくもく会とは?知識習得や人脈作りに役立つ?|IT・ものづくりエンジニアの転職・派遣求人情報なら【パソナテック】. IT・ものづくりエンジニアの転職・派遣求人情報なら【パソナテック】. Accessed February 21, 2021. https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2282))

私自身、優先度の高いものほど、ついつい目の前のことにとらわれて先延ばしにしてしまう傾向があります。この前のもくもく会では終了時に今回の成果をみんなの前で発表するため、ほどよいプレッシャーのなかタスクをこなすことができました。今後もこのような機会を活用していきたいと思います。

"やることをリスト化し、ABCに優先度分けする。AをさらにA1、A2、A3に分割する。A2やA3をやっていると何となく時間を有効に使っていると錯覚してしまう。A1をさしおいてA2やA3をやることは時間の無駄である。結局忙しさの原因は最優先すべきことを先延ばしすることに尽きます" https://t.co/p6A20ytud0

— Shoei (@shoei05) December 16, 2020

"独学者にとっての最大の困難は、学び方が分からないというより、いろんな外的内的な要因から学び続けることができず、途中で挫折してしまうことです。こうした最も大切な点を多くの学習本は等閑視します。" https://t.co/NgBJtBao2B

— Shoei (@shoei05) November 6, 2020

"「独学は孤学ではない」というのは、いろんな意味があります。ひとつは「同じ本を読む人は遠くにいる」という言葉があるんですけど。今独学している人のそばには独学者はいないと思うかもしれない。でも実はお互いに知る機会がないだけで、この世界にはたくさんいる" https://t.co/D4rAl7kxft

— Shoei (@shoei05) January 7, 2021
この記事は旧サイト(UMIN)から移行したものです。内容は記載の公開・更新時点のものです。