
Hyper-V に Ubuntu 22.04 LTS を入れて RStudio Server を利用していたけど、SSH のところで引っかかって、手元の Laptop PC から繋げなくなったりした。
ネット上のトラブルシューティングは色々試してみたけど、後一歩 work せず、「これを使うにはちょっと知識不足だなー。」と感じて一旦リセット。ネットワークエンジニアリング的な事を調べる事自体は楽しいけど、時間を使いすぎて本業に影響がきそうなので、今回は一旦箸休め。
で、それらを調べるうちに、「やっぱり Docker の方が使いやすそうだな-。」と思い、Docker で構築し直す事に。
やってみたら驚くほど簡単にできたので、忘れないうちにメモメモ。
コンテナ型仮想化システムの一つ。 ホストOS(私の場合は Windows)にコンテナ型エンジンと呼ばれる仮想化ソフトウェアをインストールし、その上にイメージを置くことで、複数のアプリケーションを同じOS上で動かす。 アプリケーションやソフトウェアを実行環境と共にコンテナイメージとして包括することから、コンテナ型と呼ばれる。 1つのOSで稼働するので、プロセッサやメモリの消費が少なく、ストレージの使用も僅か。 コンテナイメージやソフトウェアそのものが軽量で、立ち上がりも速い。 |
![]() |
仮想化・仮想マシンについての覚書。 仮想化 (Virtualization) とは 仮想化とは、物理的な環境にとらわれることなく、ハードウェアに含まれるCPU、メモリなどのリソースを倫理的に分割・統合する技術のことで、サ …
Docker で RStudio Server を使えるようにする
RStudio Server は、Linux で動く。
Linuxについての覚書。 Linux とは Linux とは、Windows や Mac OS と同じ Operating system (OS) の一種。 Windows や Mac OS などの OS は有料だけど …
私の使っている OS は Windows なので、Docker Desktop を使用するためには Hyper-V を有効化する必要がある。
仮想化・仮想マシンについての覚書。 仮想化 (Virtualization) とは 仮想化とは、物理的な環境にとらわれることなく、ハードウェアに含まれるCPU、メモリなどのリソースを倫理的に分割・統合する技術のことで、サ …
今回は下記の方法で環境構築。
- ローカルサーバのスペック
- OS: Microsoft Windows 11 Pro
- System Type: x64-based PC
- Processor: Intel(R) Core(TM) i7-7800X CPU @ 3.50GHz, 3504 Mhz, 6 Core(s), 12 Logical Processors
- Total Physical Memory (RAM): 63.7 GB
- Total Virtual Memory 73.2 GB
- 仮想マシン:Hyper-V
- Hyper-Vの有効化
- Docker Desktop for Windows をインストール
- Docker Desktop の設定
Hyper-V の有効化
Hyper-Vを有効化するための条件
Hyper-Vを有効化するためには、下記2点が必要。
- Windows 11 Proがインストールされていること
- BIOSにて仮想化が有効化されていること
BIOSで仮想化が有効化する方法は下記。
- 起動時にEsc or F1キーを押下して、BIOSを表示。
- BIOSのAdvancedタブへ。
- Advancedにある CPU configuration を押下。
- CPU configuration にある Intel Virtualization Technology を Enabled にする。
- Save して再起動。
Hyper-Vの有効化
Win → Settings を選択

Application → Optional features を選択

下の方にある "MoreWindows features" を選択

Windows Features の画面が出てくるので、Hyper-V の項目を表示し、チェックを入れて有効化し、OKを選択

しばらく required files を探した後で……

再起動

Control Panel → System and Security → Windows Tools で Hyper-V Manager と Hyper-V Quick Create が入っている事を確認。

試しに Hyper-V Manager を起動させると、初期画面が出てきた。

まだ何も入っていない。

Docker のインストール
Windows 用の Docker Desktop をインストールする。
Docker Desktop for Windows のインストール
docker docs のサイトで Docker Desktop for Windows をインストール
Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.

Unpacking files...

Configuration が出てくるので、2つともチェックが入った状態で "OK"

インストールできたら、Close で終了。

インストール後、デスクトップに Docker Desktop のアイコンが作成された。

Win で Docker を検索し、Docker Desktop を選択してもOK。

実行。あらゆる端末ウインドウからアクセスできる。

RStudio イメージの取得
rocker におまかせ
The Rocker Project の方々のお陰で、私レベルの人でも簡単に RStucio Server が使えるようになった(ありがとうごございます!)。
rocker は RStudio Server を含む Debian ベースの Docker イメージ。
作ってくれている Dockerfile は、下記色々。
Docker file | 特徴 |
---|---|
rocker/r-ver | r-base のイメージ。Ubuntu LTSで構築。以下のイメージはすべて r-ver を元に作られている。 |
rocker/rstudio | rocker-ver をベースに作られており、RStudio Server がインストール済み。 |
rocker/tidyverse | rocker/rstudioに加えて、下記Rパッケージがインストール済み。
|
rocker/verse | Tex Live がインストール済み。rocker/tidyverse のパッケージに加えて、いくつかの publishing パッケージもインストール済み。 |
rocker/geospatial | rocker/verse のパッケージに加えて、geospatial Rパッケージ関係がインストール済み。 |
私の使用内容を考えて、今回は rocker/tidyverse を選択した。
(以下は、rocker/rstudioをインストールした時のキャプチャ。)
Win + R -> cmd でコマンドプロンプト(もしくは Powershell)を起動し、rocker を入れる
Win + R -> 検索欄に "cmd" と入れて、コマンドプロンプトを開く。

(もしくは Win -> "Powershell" で Powershell を開いてもOK。)
コマンドプロンプトが開く。

で、下記コマンドを実行。
docker run --rm -p 8787:8787 -e PASSWORD=パスワード(自分で設定) --name コンテナ名(自分で設定) rocker/rstudio
Enter を押すと、"Unable to find image 'rocker/rstudio:latest' locally" と出てくるが、ネット上から探してダウンロードしてくれる。
Docker の Images の欄を見ると、"rocker/rstudio" が入っていて、

Containersの欄を見ると、自分で名付けたコンテナが入っていた(イメージはrocker/rstudio、ポートは8787)。

ブラウザからログイン
上記で設定は終了し、後はブラウザからアクセスできる(簡単すぎる!)。
Localhost でログイン
ブラウザを立ち上げ、アドレス欄に localhost:8787
と入れれば、RStudio Server が立ち上がる。

上記は Google Chrome で立ち上げた時のキャプチャ。デフォルトと色が違うのは、すぐに Tools -> Global Options... -> Appearance でテーマを変えたから。
RStudioの画面は、デフォルトでは白いバックグラウンドになっている これを、私の好きなDark colorに変更する方法 1. Tools -> Global Options -> Appe …
後は、デスクトップ版の RStudio と同じように、必要なパッケージをインストールし、使用できる。
PC内においてあるファイルのアップロードなども右下の "Files" から可能(もちろん、コンソールからも取り込み可能)。
詳細は "RStudio Cloud" の記事で。
私は、自宅PCと職場PCの2箇所でRStudioを利用していますが、時々データをクラウドに上げ忘れたりして困る事があります。 リモート接続で自宅PC⇔職場PCに入り、リモートでデータをクラウドに上げる、という方法で対処し …
IPアドレスでログイン
別のPCからログインする時は、 http://ローカルPCのIPアドレス:8787
で接続する。
IP アドレスの取得方法
コマンドプロンプト、もしくは Powershell を開き、 ipconfig
と入れると、IPアドレスが表示される。
PS C:\Users\XXX> ipconfig
Windows IP Configuration
Ethernet adapter イーサネット:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : feXX::dXXc:ebXX:dXX:aXXa%XX
IPv4 Address. . . . . . . . . . . : XXX.XXX.XXX.XXX
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : XXX.XXX.XXX.XXX
Wireless LAN adapter ローカル エリア接続* 15:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter ローカル エリア接続* 16:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Wi-Fi 4:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Ethernet adapter vEthernet (Default Switch):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : feXX::dXXc:ebXX:dXX:aXXa%XX
IPv4 Address. . . . . . . . . . . : XXX.XXX.XXX.XXX
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
Ethernet adapter vEthernet (WSL):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : feXX::dXXc:ebXX:dXX:aXXa%X
IPv4 Address. . . . . . . . . . . : XXX.XXX.XXX.XXX
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
上段はデフォルトのIPアドレス。下段は Hyper-V のIPアドレス。
今回は、上段 "Ethernet adapter" の "IPv4 Address: XXX.XXX.XXX.XXX" が求めているアドレス。
Linux で IP アドレスを確認する方法をメモったので、 ついでにWindowsのも書き留めておく。 コマンドプロンプトを使ってIPアドレスの情報を取得 Win + R で "Run" ウィンドウを開く。 検索欄に …
IPアドレスは、ローカル PC を再起動するたびに新しく割り振られ、その度に接続先も変える必要がでてくるので、ローカルPCのIPアドレスは固定にしておいた方が良い。
リモートアクセスなどで、特定のポートのみファイアウォールでブロックされないようにする方法。 使用している OS は Windows 11。 IP アドレスの固定 一般的に使用している IP アドレスは、通常ルーターによっ …
References
Windows, Mac に Docker Desktop インストールのためのシステム要件とその確認方法をまとめました。
Rでプログラミングを行うとき、 便利な統合開発環境を提供してくれるのがRstudioです。 Rstudioではグラフの描画とコーディングを同じウィンドウ内で完結でき、 コード打ちと結果の確認がシームレスに行えて非常に捗ります。 そんなRstudioをサーバーサイドで動作させるのが、 Rstudio Serverです。 つまり、サーバーでRstudioをホスティングして、 サーバーにアクセスしたクライアントに Rstudioの利用を提供することができます。 どういうメリットがあるのでしょうか。 メリット 計算端末と操作端末の分離 プログラミング環境の再利用 リモートデスクトップよりサクサクなリモ…
Docker Containers for the R Environment
背景 RStudioのデスクトップアプリは各種OSに対応していますが、OS固有の問題(Windowsだと文字コード周りでエラーが出やすいなど)があります。また、どの端末からも同じ環境で使用できると便利です。 RStudio Se...