2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ローカルのRStudioの設定をDockerコンテナ上のRStudio Serverに反映する

Last updated at Posted at 2018-03-18

新しくDockerコンテナを作成してRStudio Serverを起動すると、外観だとかキーバインドの設定は当然だけど既定値になっている。コンテナ作成の度にこれらをいちいち設定するのは面倒なので、RStudio Desktopの設定を反映させるようにしたい。

そもそもRStudioの設定はどこにあるのか?

Global Optionsから設定できる項目は以下のディレクトリ内に保存されている。DesktopとServerで若干パスが異なる(注:以下はmacOSの場合)。

  • RStudio Desktop: ~/.rstudio-desktop/monitored/user-settings
  • RStudio Server: ~/.rstudio/monitored/user-settings

キーバインドだけは別で、DesktopもServerも以下の場所に.jsonで保存されている。

  • ~/.R/rstudio/keybindings

ということは、docker runの際に-vで上記ディレクトリをリンクさせてやれば設定が反映される…と思いきや、コンテナを一度起動しないと~/.rstudioが作成されないらしく、上手くいかない。

~/.rstudio/monitored/user-settings入りのDockerイメージを作成する

無いのであれば作ってしまおう。rocker/rstudioをベースにするとして、以下の様な内容でDockerfileを作成する。もちろん、既存のものがあれば下部の2行を追記してもいい。

Dockerfile
FROM rocker/rstudio

RUN mkdir -p /home/rstudio/.rstudio/monitored/user-settings/
RUN chown -R rstudio:rstudio /home/rstudio/.rstudio

作ったらdocker buildする。Dockerfileのあるディレクトリで

docker build -t my-rstudio .

ビルドが終わったら、設定ファイルのディレクトリをリンクさせてコンテナを起動する。

docker run \
  -v ~/.rstudio-desktop/monitored/user-settings:/home/rstudio/.rstudio/monitored/user-settings \
  -v ~/.R/rstudio/keybindings:/home/rstudio/.R/rstudio/keybindings \
  -p 8787:8787 my-rstudio

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?