r-ver:4.1.3
をベースに、UIとして code-server を導入したもの。ARM64 の環境でも使える解析環境を目指す。
- rocker/r-ver:4.1.3
- CRAN repository は Public Rstudio Package Manager の 2022-04-21 で固定されている
- code-server
- https://github.com/coder/code-server のインストールスクリプトを使用
- Extensions:
- R Extension for Visual Studio Code (Ikuyadeu.r)
- R Debugger (RDebugger.r-debugger)
R LSP Client for VS Code (REditorSupport.r-lsp)2022-06-02 削除
- エディタフォントは UDEV Gothic (BIZ UD Gothic + JetBrains Mono)のリガチャ対応版を使用
- RStudio のように Ctrl + Shift + m で
%>%
を入力できるように設定 - Plot は {httpgd} を使って表示するよう設定(
0.0.0.0:59531
を使用)
- Ubuntu mirror
自動選択のmirror://mirrors.ubuntu.com/mirrors.txt
に変更- x86_64 の場合は日本のミラーサーバーで一番回線が太い ICSCoE(IPA産業サイバーセキュリティセンター)に変更
- Ref: https://launchpad.net/ubuntu/+archivemirrors
- 日本語ロケール
- Ubuntu の
language-pack-ja
,language-pack-ja-base
- 環境変数で
ja_JP.UTF-8
ロケールとタイムゾーンAsia/Tokyo
を指定 - フォントは容量節約のためパッケージを使わず下記を手動で追加
- Noto Sans/Serif JP(Google Fonts で配布されている日本語サブセット版)
- UDEV Gothic LG(BIZ UD Gothic + JetBrains Mono のリガチャ対応版)
- Ubuntu の
- R pachages
rocker/tidyverse
に導入されているものから、容量の大きな database backend を省略したもの- 関連して必要となる Pandoc は、Ubuntu 20.04LTS のものはバージョンが古いので公式サイトの deb を使用
- 個人的な頻用パッケージも追加しておく
install2.r --ncpus -1 ...
で並列化すると、ARM64でうまくいかない場合があった(big.LITTLE構成のため?)ので--ncpus
指定を削除
- radian: A 21 century R console
- Python
- Python3 のインストールには
/rocker_scripts/install_python.sh
を使用 - グローバルに pandas と matplotlib/seaborn を入れておく
- Python3 のインストールには
rocker-org/rocker-versioned2 のように、目的別のスクリプトを使って Dockerfile 自体は極力シンプルにしてみる。
Gist ではディレクトリが使えないので、各インストールスクリプトは "my_scripts__*" として保存してある。
docker image build
の際は Dockerfile と同じ階層の "my_scripts" というディレクトリに "install_*.sh" と改名して格納しておく。改行コードが LF(UNIX) でないとエラーになるので注意。
unzip {id_of_this_gist}.zip
cd {id_of_this_gist}
mkdir my_scripts
find my_scripts* | sed -e 's%\(my_scripts__\(.*\)\)%mv \1 my_scripts\/\2%g' | sh
docker image build -t "mokztk/rcodeserver:4.1.3" .