コンテナを利用して手っ取り早くMeCab入りrstudioを立ち上げます
fedora32 で podman を使いました
podman-compose は pip3 install -g podman-compose で入ります
コンテナを立ち上げる
# docker-compose.yml をダウンロード
$ wget -O docker-compose.yml https://gist.githubusercontent.com/kemasoft-gist/e24067d1895d0179d8a0117b06523fcd/raw
--2020-09-28 19:50:34-- https://gist.githubusercontent.com/kemasoft-gist/e24067d1895d0179d8a0117b06523fcd/raw
gist.githubusercontent.com (gist.githubusercontent.com) をDNSに問いあわせています... 151.101.108.133
gist.githubusercontent.com (gist.githubusercontent.com)|151.101.108.133|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 502 [text/plain]
`docker-compose.yml' に保存中
docker-compose.yml 100%[==============================================================>] 502 --.-KB/s 時間 0s
2020-09-28 19:50:35 (3.47 MB/s) - `docker-compose.yml' へ保存完了 [502/502]
# コンテナ(というかpod)を起動
$ podman-compose up -d
podman pod create --name=tmp --share net -p 8787:8787
1d24f1d9df275e489f80ab3afd85e693a9ca01210234671acc2450696aa85499
0
podman run --name=r-studio -d --pod=rstudio -l io.podman.compose.config-hash=123 -l io.podman.compose.project=rstudio -l io.podman.compose.version=0.0.1 -l com.docker.compose.container-number=1 -l com.docker.compose.service=rstudio-sv --network host --mount type=bind,source=/home/nobuoki/work,destination=/home/rstudio/work --add-host rstudio-sv:127.0.0.1 --add-host r-studio:127.0.0.1 --entrypoint ["sh", "-c", "apt update && apt -y install mecab libmecab-dev mecab-ipadic-utf8 && ln -sf /usr/lib/x86_64-linux-gnu/libmecab.so.2 /usr/lib/x86_64-linux-gnu/libmecab.so && Rscript -e \"install.packages('RMeCab',repos='http://rmecab.jp/R')\" && exec /init"] tokyor/rstudio
5020b41e6563bb116201cdcf0c68605b5e1cd93d4e34f4bc88cb216a59a771b6
0
無事コンテナが立ち上がったら、ブラウザで http://母艦のIP:8787/ でアクセス、
id/pw = rstudio/rstudio でセッションを開始し、動作確認します
# コンソールに1行叩き込む
library(RMeCab); RMeCabC("すもももももももものうち")
[[1]]
名詞
"すもも"
[[2]]
助詞
"も"
[[3]]
名詞
"もも"
[[4]]
助詞
"も"
[[5]]
名詞
"もも"
[[6]]
助詞
"の"
[[7]]
名詞
"うち"
>
ポイント
趣味の部分
ymattu/mecab-d - Docker Hub を使うと、もっと簡単です(感謝)
詳しくは Docker で RStudio Server + MeCab + tidyverse (+ 日本語) を参照
認証不要にすることも出来ます
docker-compose.yml
version: '2' services: rstudio-sv: image: ymattu/mecab-d container_name: r-studio restart: always network_mode: "host" environment: - DISABLE_AUTH=true ports: - 8787:8787 volumes: - ~/work:/home/rstudio/work