Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2025-07-27 Dev Containerで安全に Claude Codeを使う
Search
Naka Masato
July 26, 2025
Technology
0
100
2025-07-27 Dev Containerで安全に Claude Codeを使う
Dev Containerの導入方法や初めて使うときの引っかかりやすいポイントについて紹介します。
Naka Masato
July 26, 2025
Tweet
Share
More Decks by Naka Masato
See All by Naka Masato
2025-10-25 AIコーディングで開発した業務報告書自動生成アプリ
nakamasato
0
54
2025-01-26 Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは@SREKaigi 2025
nakamasato
0
61
2025-01-25 Devin.aiを使ってみた使用感@機械学習社会実装勉強会第43回
nakamasato
0
490
2024-07-11 Mercari Hallo 立ち上げ時のSRE
nakamasato
2
610
2024-07-03 Eliminating toil with LLM
nakamasato
1
250
2024-05-25LangChain Agentの仕組み@機械学習社会実装勉強会第35回
nakamasato
1
350
2022-06-18 Ray Trainの紹介@機械学習の社会実装勉強会第12回
nakamasato
0
240
Ray Serve@機械学習の社会実装勉強会第11回
nakamasato
0
690
2022-04-29 Ray紹介@機械学習の社会実装勉強会
nakamasato
0
300
Other Decks in Technology
See All in Technology
Error.prototype.stack の今と未来
progfay
1
180
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
1.5k
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
270
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
150
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
3
850
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
55
18k
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
2
420
JAWS-UG SRE支部 #14 LT
okaru
0
110
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
350
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
18
8.6k
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
2
840
AIでテストプロセスを自動化しよう251113.pdf
sakatakazunori
1
200
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
GitHub's CSS Performance
jonrohan
1032
470k
The Cult of Friendly URLs
andyhume
79
6.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Side Projects
sachag
455
43k
Embracing the Ebb and Flow
colly
88
4.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Being A Developer After 40
akosma
91
590k
Transcript
Dev Container で安全に Claude Code を使う 技術的な開発環境の セキュリティ強化 naka (X:
@gymnstcs, GitHub: nakamasato) 2025 年7 月27 日 1 / 19
アジェンダ 1. 背景と課題 2. Dev Container の導入方法 3. 初めて使うときに引っかかるポイント 4.
デモ 2 / 19
背景:深刻な事故事例 Cursor YOLO モードのリスク "Cursor YOLO deleted everything in my
computer!" Reddit 投稿 潜在リスク AI がホストファイル全体にアクセス 予期しない削除や変更 完全なデータ損失 3 / 19
Dev Container が必要な理由 Vibe Coding 普及の課題 --dangerously-skip-permissions による予期せぬセキュリティリスク ホスト全体への無制限アクセス セキュリティ
vs 開発効率のジレンマ Dev Container による解決 コンテナによる隔離された開発環境 IDE との連携により今までと同じ開発体験を提供 チーム開発でも使える共通の設定 4 / 19
Dev Container とは VS Code 開発コンテナ Docker 上の開発環境 プロジェクト固有の設定 環境の完全な再現性
参考:VS Code 公式ドキュメント 5 / 19
導入の流れ 1. 拡張機能をインストール VS Code 拡張機能から「Dev Containers 」を検 索・追加 2.
設定ファイルを作成 .devcontainer/devcontainer.json を追加 3. コンテナで開く コマンドパレット → Reopen in Container 6 / 19
導入方法:基本設定 .devcontainer/devcontainer.json { "name": "Python Devcontainer", "image": "mcr.microsoft.com/devcontainers/python:3.12", "features": {
"ghcr.io/devcontainers/features/github-cli:1": {}, "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {} }, "remoteUser": "vscode" } 7 / 19
コンテナ設定パターン1 :既存イメージ 最も簡単な方法 { "name": "Python Development", "image": "mcr.microsoft.com/devcontainers/python:3.12" }
メリット 設定が簡単 すぐに使い始められる Microsoft 提供の安定したイメージ 8 / 19
コンテナ設定パターン2 :カスタムDockerfile 細かくカスタマイズしたい場合 { "name": "Custom Environment", "build": { "dockerfile":
"Dockerfile", "context": "." } } FROM mcr.microsoft.com/devcontainers/base RUN apt-get update && apt-get install -y \ python3 nodejs npm 必要なCLI をインストール ディレクトリの作成・権限付与 etc. 9 / 19
コンテナ設定パターン3 :Docker Compose 複数コンテナ(DB 等)が必要な場合 { "name": "Full Stack App",
"dockerComposeFile": "docker-compose.yml", "service": "app", "workspaceFolder": "/workspace" } 用途 データベース連携 マイクロサービス開発 10 / 19
必要CLI ツールの設定 基本セット git: バージョン管理 gh: GitHub CLI claude: Claude
Code tig, jq: 便利ツール 設定方法 Features で一括指定 Dockerfile でカスタム 11 / 19
Features を使った拡張 Claude を含む各種ツールの追加 { "features": { "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}, "ghcr.io/devcontainers/features/github-cli:1":
{}, "ghcr.io/devcontainers/features/git:1": {} } } その他便利なFeatures pre-commit: コード品質チェック docker-in-docker: Docker 操作 12 / 19
引っかかりポイント1 :gh command 認証 問題 毎回手動ログインが面倒 解決策:GH_TOKEN 環境変数の設定 { "runArgs":
["--env-file", ".devcontainer/.env.devcontainer"], "initializeCommand": "echo \"GH_TOKEN=$(gh auth token)\" > .devcontainer/.env.devcontainer" } # .gitignore に追加 .devcontainer/.env.devcontainer 13 / 19
引っかかりポイント2 :Claude Code 設定 問題 Claude Code の設定が毎回消える ユーザー認証が毎回必須になる 解決策:設定ディレクトリの永続化
+ CLAUDE_CONFIG_DIR の設定 { "containerEnv": { "CLAUDE_CONFIG_DIR": "/home/vscode/.claude" }, "mounts": [ "source=claude-config,target=/home/vscode/.config/claude,type=volume" ※ /home/vscode/ 部分はcontainerUser によって書き換え 14 / 19
引っかかりポイント3 :root 権限エラー 問題 --dangerously-skip-permissions cannot be used with root/sudo
privileges for security reasons 解決策:非root ユーザー { "remoteUser": "vscode", "containerUser": "vscode" } ※ --dangerously-skip-permissions は非root ユーザーが必要 15 / 19
まとめ セキュリティ向上 ホストから完全隔離 プロジェクト境界明確化 YOLO モードもリスクを抑えて利用可 開発効率向上 チーム共通環境 一度設定すれば使い回し可能 16
/ 19
ベストプラクティス 段階的導入 1. 基本イメージから開始 2. 必要ツールを段階追加 3. チーム全体で設定共有 セキュリティ強化 Claude
Code のDeny ルール整備 ネットワークの制限 参考:Anthropic 公式例 17 / 19
デモ デモ内容 Dev Container 設定作成 VS Code でコンテナ起動 Claude Code
安全実行 ファイルアクセス制限確認 18 / 19
ご清聴ありがとうございました Dev Container でよりセキュアな 爆速開発環境をつくりましょう! 参考:Qiita 記事 19 / 19