Dockerを使ってRstudio Serverを使うまで【stockdbr版】
Dockerの準備
ダウンロードした Docker for Windows Installer.exe を起動してインストールする。
Dockerfileの配置
code:Dockerfile
FROM rocker/rstudio:3.6.2
COPY . /stockdbr
RUN apt-get -y update -qq \
&& apt-get install -y --no-install-recommends \
libgsl0-dev \
libxml2-dev \
libcairo2-dev \
libsqlite-dev \
libmariadbd-dev \
libmariadbclient-dev \
libpq-dev \
libssh2-1-dev \
unixodbc-dev \
libsasl2-dev \
&& install2.r --error \
--deps TRUE \
tidyverse \
dplyr \
devtools \
formatR \
remotes \
selectr \
caTools \
testthat \
BiocManager\
&& R -e "devtools::install_dev_deps('/stockdbr', dep = TRUE)"
WORKDIR /stockdbr
Dockerを起動
Docker Desktop for Windowsを起動する。通常なら右下のに🐳のアイコンが出る。
エラーが出た場合の対処法
Control Panel
プログラム
プログラムと機能
Windowsの機能の有効化または無効化
Hyper-Vに☑を入れてOKを選択
Docker Desktop for Windowsを起動する。
作業ディレクトリへ移動し、TerminalやBashなどを開く。
docker version を走らせる ➡ 走ったらOK。走らなかったら・・・
Docker Imageの作成
Dockerfileがある環境下で docker build [ -t {イメージ名} [ :{タグ名} ] ] {Dockerfileのあるディレクトリ} を実行。
※ RstudioやPackageのインストールを行うため時間がかかる
Dockerの実行
docker run -e PASSWORD=パスワード -p 8787:8787 -v /HOST/PATH/TO/SHARE/hoge:/home/rstudio/hoge イメージ名:タグ名
docker run でDockerを実行
-e PASSWORD=**** でRstudio Serverにログインするためのパスワードを設定
-v でローカル環境とDocker環境のディレクトリを紐づけ。両環境を:でつなぐ。
Windowsの場合cドライブなら /c:/Users/JohnDoe/Documents/foobar:/home/rstudio/foobar。
-v による紐づけは複数を行うことも可能。-v /HOST/PATH/TO/hoge:/home/rstudio/hoge -v /HOST/PATH/TO/piyo:/home/rstudio/piyo
Docker環境のディレクトリは/home/rstudio/*****。rstudioはRstudio Serverのユーザーネーム。
Cドライブ以外をローカル環境として共有する場合、Docker ➡ Setting ➡ Resources ➡ File Sharing ➡ 指定ドライブに☑
--rm をつけると終了後にイメージが削除される
Dockerの再実行
Docker Desktopを起動
上記で --rmを実行していなければイメージが残っているので「起動」ボタンをおして起動
Rstudio Serverの実行
ブラウザを開いてlocalhost:8787を打ち込むか, Docker Desktop for Windowsで Open in browserをクリック。
サインインする。
Usernameはデフォルト値でrstudio
PasswordはDockerの実行時に設定したもの
https://gyazo.com/309183ef9360c36e0cc7ef431db29487
Dockerの停止
bashでCtrl + Cを押して実行中から戻る。
docker psで動いているコンテナIDを把握。
docker kill ID# で停止。
あるいはDocker Desktop for Windowsでstopボタンを押す。https://gyazo.com/b9fadf0f2805a4371ccd027899fbf9c1