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
770
0
Share
2025-07-27 Dev Containerで安全に Claude Codeを使う
Dev Containerの導入方法や初めて使うときの引っかかりやすいポイントについて紹介します。
Naka Masato
July 26, 2025
More Decks by Naka Masato
See All by Naka Masato
2026-03-28 Slack × GitHub × Claude で作る Chat Bot Agent 改善サイクル@AI実装勉強会第57回
nakamasato
0
92
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.7k
2025-10-25 AIコーディングで開発した業務報告書自動生成アプリ
nakamasato
0
110
2025-01-26 Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは@SREKaigi 2025
nakamasato
0
81
2025-01-25 Devin.aiを使ってみた使用感@機械学習社会実装勉強会第43回
nakamasato
0
530
2024-07-11 Mercari Hallo 立ち上げ時のSRE
nakamasato
2
640
2024-07-03 Eliminating toil with LLM
nakamasato
1
290
2024-05-25LangChain Agentの仕組み@機械学習社会実装勉強会第35回
nakamasato
1
400
2022-06-18 Ray Trainの紹介@機械学習の社会実装勉強会第12回
nakamasato
0
280
Other Decks in Technology
See All in Technology
🀄️ on swiftc
giginet
PRO
0
300
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
1
280
新規サービス開発におけるReact Nativeのリアル〜技術選定の裏側と実践的OSS活用〜
grandbig
2
180
プロダクトを触って語って理解する、チーム横断バグバッシュのすすめ / 20260411 Naoki Takahashi
shift_evolve
PRO
1
260
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
570
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
170
試されDATA SAPPORO [LT]Claude Codeで「ゆっくりデータ分析」
ishikawa_satoru
0
340
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
6
2.4k
ZOZOTOWNリプレイスでのSkills導入までの流れとこれから
zozotech
PRO
4
3.2k
New CBs New Challenges
ysuzuki
1
170
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
1.2k
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
670
Featured
See All Featured
Designing for Performance
lara
611
70k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
What's in a price? How to price your products and services
michaelherold
247
13k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
290
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Darren the Foodie - Storyboard
khoart
PRO
3
3.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
160
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
From π to Pie charts
rasagy
0
160
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
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