115 lines
1.8 KiB
Markdown
115 lines
1.8 KiB
Markdown
# Claude Code Arch Linux Docker環境
|
||
|
||
安全なClaude Code実行環境をArch LinuxベースのDockerコンテナで提供します。
|
||
|
||
## クイックスタート
|
||
|
||
```bash
|
||
# イメージのビルド
|
||
./run.sh build
|
||
|
||
# コンテナの起動
|
||
./run.sh start
|
||
|
||
# シェルに接続
|
||
./run.sh shell
|
||
```
|
||
|
||
## 機能
|
||
|
||
- **最新のArch Linux**ベース
|
||
- **非rootユーザー** (claude) での実行
|
||
- **開発ツール**プリインストール
|
||
- Node.js, Python, Go, Rust
|
||
- Git, Neovim, ripgrep, fd
|
||
- yay (AURヘルパー)
|
||
- **リソース制限**設定済み
|
||
- **ボリューム永続化**
|
||
- pacmanキャッシュ
|
||
- yayキャッシュ
|
||
|
||
## セキュリティ機能
|
||
|
||
- 非特権コンテナ
|
||
- リソース制限 (CPU: 2コア, メモリ: 4GB上限)
|
||
- ネットワーク分離
|
||
- 読み取り専用オプション対応
|
||
|
||
## 使い方
|
||
|
||
### 基本コマンド
|
||
|
||
```bash
|
||
# ビルド
|
||
./run.sh build
|
||
|
||
# 起動
|
||
./run.sh start
|
||
|
||
# 接続
|
||
./run.sh shell
|
||
|
||
# 停止
|
||
./run.sh stop
|
||
|
||
# 完全削除
|
||
./run.sh clean
|
||
```
|
||
|
||
### Docker Compose直接使用
|
||
|
||
```bash
|
||
# バックグラウンドで起動
|
||
docker-compose up -d
|
||
|
||
# ログ確認
|
||
docker-compose logs -f
|
||
|
||
# コンテナに入る
|
||
docker-compose exec -u claude claude-arch /bin/zsh
|
||
|
||
# 停止
|
||
docker-compose down
|
||
```
|
||
|
||
## カスタマイズ
|
||
|
||
### より厳格なセキュリティ
|
||
|
||
`docker-compose.yml`で以下のコメントを解除:
|
||
|
||
```yaml
|
||
read_only: true
|
||
tmpfs:
|
||
- /tmp
|
||
- /run
|
||
- /home/claude/.cache
|
||
```
|
||
|
||
### Docker in Docker
|
||
|
||
Dockerソケットのマウントを有効化:
|
||
|
||
```yaml
|
||
volumes:
|
||
- /var/run/docker.sock:/var/run/docker.sock
|
||
```
|
||
|
||
## トラブルシューティング
|
||
|
||
### pacmanエラー
|
||
|
||
```bash
|
||
# コンテナ内で実行
|
||
sudo pacman -Sy archlinux-keyring
|
||
sudo pacman-key --refresh-keys
|
||
```
|
||
|
||
### 権限エラー
|
||
|
||
ホストのファイルの所有者を確認:
|
||
|
||
```bash
|
||
# UID/GIDの確認
|
||
docker-compose exec claude-arch id
|
||
``` |