ホーム

DockerコンテナによるVS CodeでのRコーディング

Rコードを共有したのに、「私のマシンでは動くのに…」という問題のデバッグに何時間も費やしたことはありませんか?Dockerコンテナは、コード用の輸送コンテナのようなものです。R環境、ライブラリ、依存関係を1つのボックスにパッケージ化し、どこでも同じように動作させることができます。Docker Hubには何万もの事前構築イメージがあり、すぐに使える環境が公開されているため、手動インストールの手間を省けます。このチュートリアルでは、VS CodeとDocker Desktopを使って、隔離された再現可能な環境でRを実行する方法を学びます。

主要な概念

必要なもの

ステップ1:Docker Desktopをインストール

ステップ2:Dev Containers拡張機能をインストール

ステップ3:GitHub DesktopでVibeプロジェクトをクローン

ステップ4:VS Codeでプロジェクトを開く

ステップ5:コンテナで再度開く

注: コンテナにはR拡張機能とlanguageserverパッケージが自動的に含まれます。Dockerfileとdevcontainer.jsonがこれを処理します。

ステップ6:コンテナ環境を理解する

これでLinuxコンテナ内でコーディングしています。これが何を意味するか探索しましょう。

pwd

/workspaces/vibeと表示されます - これはコンテナ内のプロジェクトフォルダです。

ls

プロジェクトと同じファイルが表示されます:R/.devcontainer/README.mdなど。

cd ..
ls

vibe/だけが表示されます - コンテナは隔離されています。コンピュータの他のフォルダ、デスクトップ、ドキュメントにはアクセスできません。この隔離により、R環境がクリーンで再現可能になります。

cd vibe

ステップ7:Rコードを行ごとに実行

コンテナには一般的なパッケージ付きのRがプリインストールされています。シンプルなデータ分析スクリプトを実行しましょう。

ステップ8:アプリを実行

プロジェクトには対話型ヒストグラムを作成するデモShinyアプリが含まれています。

ステップ9:簡単な変更を加える

アプリを変更して開発がどのように機能するか見てみましょう。

titlePanel("初めてのR Dockerアプリ")

ステップ10:Dockerfileを理解する(オプション)

# Docker Hubベースイメージを選択
FROM rocker/shiny-verse:latest

# 1. Rパッケージに一般的に必要なシステム依存関係
RUN apt-get update && apt-get install -y \
    libcurl4-openssl-dev libssl-dev libxml2-dev git curl && \
    rm -rf /var/lib/apt/lists/*

# 2. VS Code統合用のRパッケージ:言語サーバー + デバッガー
RUN R -q -e 'install.packages(c("rstudioapi", "languageserver"), repos="https://cloud.r-project.org")'

# 3. NodeSourceからNode.js LTSをインストール
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - \
    && apt-get install -y nodejs \
    && npm install -g npm@latest

# 4. Claude Codeをグローバルにインストール
RUN npm install -g @anthropic-ai/claude-code

# 5. Shinyサーバーポートを公開
EXPOSE 3838

重要な部分:

使用できる他のRockerイメージ:

ベースイメージを変更した後、コンテナを再ビルドして変更を適用してください。

ステップ11:DockerイメージにRパッケージをインストール(オプション)

Rコンソールでインストールしたパッケージ(install.packages())は一時的で、コンテナを再ビルドすると消えます。パッケージを永続的にするには、Dockerfileに追加してください。

RUN R -q -e 'install.packages("data.table", repos="https://cloud.r-project.org")'
library(data.table)

エラーなく読み込まれれば、パッケージは永続的にインストールされています。

次のステップ

トラブルシューティング

ワークフロー概要

このセットアップにより、プロフェッショナルなR開発環境が得られます:

日常のワークフロー

すべてがセットアップされたら、日常のルーティンは以下の通りです:

  1. Docker Desktopを起動 - アプリを開いて緑色のステータスインジケーターを待つ(Dockerが実行されている必要があります)
  2. VS Codeを開く - VS Codeを起動してプロジェクトフォルダを開く
  3. コンテナで再度開く - まだコンテナ内でない場合、緑色のアイコン(左下)をクリックしてReopen in Containerを選択
  4. コードを書いて実行 - .Rファイルを編集し、Ctrl+Enter/Cmd+Enterで行ごとに実行、またはShinyアプリを▶ Run Shiny Appボタンで実行
  5. 作業を保存 - コードファイル(.R.Rmd)はコンピュータに保存され、セッション間で永続
  6. コミットしてプッシュ - GitHub Desktopを使用して変更をコミットし、リポジトリにプッシュ

Steven Geが2025年12月7日に作成。