4 事前準備(Mac編)
それでは,早速お手持ちのMacにDockerを導入しましょう(Windowsは前の3 事前準備(Windows編)をご覧ください)。なお, Dockerを使うにあたって,15GBくらいハードディスクに余裕があると良いかと思います。
4.1 MacへのDockerの導入方法
Macユーザーの方は,以下の動画を参考にDockerを導入ください。なお,M1 Mac(Apple Silicon)に関しては,2021年8月の段階でもRockerが利用できません2。つまり,Rockerをベースにした国里のPaper-rも動きません。M1 Mac(Apple Silicon)の利用者は,こちらで,DockerではなくRSutidoとRを直接的にインストールください。
ターミナルには以下のコマンドを入力します(適宜,PASSWORDやnameの=以降は,好みによって変更ください)。
docker run -e PASSWORD=paper -e DISABLE_AUTH=true -p 8787:8787 -v $PWD:/home/rstudio -d --name paper ykunisato/paper-r
なお,Dockerではタグによる指定もできます,例えば,R4.1.1を指定したい場合は,以下のように最後に“:4.1.1”を追加すると指定できます(詳しくはpaper-rのページのTagを確認ください)。
docker run -e PASSWORD=paper -e DISABLE_AUTH=true -p 8787:8787 -v $PWD:/home/rstudio -d --name paper ykunisato/paper-r:4.1.1
普段使っているホームディレクトリがマウントされていると思います。
4.2 Dockerコマンド
4.2.1 コンテナの確認と開始
コンテナの動作確認するには,ターミナルに以下を打ち込みます。STATUSがUpになっているとコンテナが動いています(再起動後に止まったりしていることがある)。
docker ps -a
もしコンテナが停止している場合は(STATUSがExitedになっている),ターミナルに以下を打ち込んで,コンテナを開始します。
docker start コンテナ名(上記の場合はpaper)
4.2.2 コンテナの停止と削除,イメージの削除
もうコンテナが不要になったら,停止して削除します。コンテナの停止には,ターミナルに以下を打ち込みます。
docker stop コンテナ名(上記の場合はpaper)
コンテナの削除には,ターミナルに以下を打ち込みます。
docker rm コンテナ名(上記の場合はpaper)
rmしてもコンテナが削除されただけでダウンロードしたイメージは残っています。まず,以下をターミナルに打ち込んで,イメージの状況を確認します。削除したいイメージのIMAGE IDをコピーします。
docker images
上記でコピーしたIMAGE IDを使って,以下をターミナルに打ち込んで,イメージを削除します。
docker rmi IMAGE_ID
4.3 Dockerが使えない場合
Dockerが使えないor使いたくない場合は,以下に進んでください。
Apple Silicon(M1 Mac)では,ARM64アーキテクチャーとなり,大きな変更がなされました。Apple側は従来のIntel x86_64のソフトが動くような工夫をしており,Dockerも現状では対応しています。しかし,2021年8月の段階では,ARM64でネイティブに動くRStudioがないのと(動作はしますが,ARM64用ではない),ARM64ベースのRパッケージの管理システムないので,現状ではまだちゃんと動くR用のDockerがありません(実は個人開発で動くものもあるのですが,一番シェアのあるRockerからのリリースを待つのが良いかと思います)。↩︎