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
Dev Containerで安全に Claude Codeを使う
Search
Naka Masato
July 26, 2025
Technology
0
69
Dev Containerで安全に Claude Codeを使う
Dev Containerの導入方法や初めて使うときの引っかかりやすいポイントについて紹介します。
Naka Masato
July 26, 2025
Tweet
Share
More Decks by Naka Masato
See All by Naka Masato
2025-01-26 Platform EngineeringがあればSREはいらない!? 新時代のSREに求められる役割とは@SREKaigi 2025
nakamasato
0
50
2025-01-25 Devin.aiを使ってみた使用感@機械学習社会実装勉強会第43回
nakamasato
0
480
2024-07-11 Mercari Hallo 立ち上げ時のSRE
nakamasato
2
590
2024-07-03 Eliminating toil with LLM
nakamasato
1
240
2024-05-25LangChain Agentの仕組み@機械学習社会実装勉強会第35回
nakamasato
0
330
2022-06-18 Ray Trainの紹介@機械学習の社会実装勉強会第12回
nakamasato
0
230
Ray Serve@機械学習の社会実装勉強会第11回
nakamasato
0
650
2022-04-29 Ray紹介@機械学習の社会実装勉強会
nakamasato
0
280
2022-03-26 TensorFlow Parameter Server Training紹介@機械学習の社会実装勉強会
nakamasato
0
180
Other Decks in Technology
See All in Technology
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.2k
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
0
180
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
560
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
3
890
iPhone Eye Tracking機能から学ぶやさしいアクセシビリティ
fujiyamaorange
0
620
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
200
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
130
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
130
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
140
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
11
910
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
200
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
9.9k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
It's Worth the Effort
3n
187
28k
Become a Pro
speakerdeck
PRO
29
5.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
Docker and Python
trallard
45
3.5k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Designing Experiences People Love
moore
142
24k
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