月曜日, 6月 16, 2025
- Advertisment -
ホームニューステックニュースClaude Code を Apple Container の中で動かす

Claude Code を Apple Container の中で動かす


tl;dr

  • WWDC 2025 で発表された Apple Container の中で Claude Code を動かしたよ
  • Apple Container では container コマンドを使ってコンテナを管理するよ
  • コンテナの中では Claude Code の --dangerously-skip-permissions オプションを気兼ねなく使えるよ

Apple Container のセットアップ

https://github.com/apple/container

Apple Container の GitHub リポジトリは上記。

https://github.com/apple/container/releases

Release ページから最新のリリース、執筆時点では container-0.1.0-installer-signed.pkg をダウンロードしてください。ダウンロードしたパッケージファイルをクリックして開くと、インストーラーが開かれます。GUI でポチポチ進めてください。おおよそ 200MB ほどの空き容量が必要になります。

インストールが正常に完了すると container コマンドが使えるようになります。

❯ container --version

container CLI version 0.1.0 (build: release, commit: 0fd8692)

ヘルプコマンドを見てみましょう。以下の表示結果は Claude による日本語訳としています。

❯ container --help

概要: macOS用のコンテナプラットフォーム

使用法: container [--debug] サブコマンド>

オプション:
 --debug                 デバッグ出力を有効にする [環境変数: CONTAINER_DEBUG]
 --version               バージョンを表示する
 -h, --help              ヘルプ情報を表示する

コンテナサブコマンド:
 create                  新しいコンテナを作成する
 delete, rm              1つ以上のコンテナを削除する
 exec                    実行中のコンテナで新しいコマンドを実行する
 inspect                 1つ以上のコンテナに関する情報を表示する
 kill                    1つ以上の実行中のコンテナを強制終了する
 list, ls                コンテナを一覧表示する
 logs                    コンテナの標準入出力またはブートログを取得する
 run                     コンテナを実行する
 start                   コンテナを開始する
 stop                    1つ以上の実行中のコンテナを停止する

イメージサブコマンド:
 build                   Dockerfileからイメージをビルドする
 images, image, i        イメージを管理する
 registry, r             レジストリ設定を管理する

システムサブコマンド:
 builder                 イメージビルダーインスタンスを管理する
 system, s               システムコンポーネントを管理する

ではコンテナを起動しましょう。初回は Y/n の選択肢が出ますので、そのままエンターを押してください。

Claude Code のセットアップ

https://github.com/anthropics/claude-code

Claude Code の公式 GitHub リポジトリは上記。以下では .devcontainer ディレクトリ配下のファイルを拝借します。まずは作業ディレクトリを用意して、その中に関連ファイルを突っ込みましょう。

mkdir claude-code-container && cd claude-code-container
curl -O https://raw.githubusercontent.com/anthropics/claude-code/main/.devcontainer/Dockerfile
curl -O https://raw.githubusercontent.com/anthropics/claude-code/main/.devcontainer/init-firewall.sh

コンテナをビルドします。

container build -t claude-code .

Claude Code が使えるかどうか確認しましょう。

container exec claude-code-instance /usr/local/share/npm-global/bin/claude --version
❯ container exec claude-code-instance /usr/local/share/npm-global/bin/claude --version

1.0.24 (Claude Code)

問題なさそうであればコンテナの中に入ってみましょう。

container run -it claude-code zsh

powerlevel10k の特徴的な UI が表示されるはずです。powerlevel10k は Dockerfile の中で指定されている zsh-in-docker の中で利用されているがためにインストールされていますが、starship が良いなどの好みがあれば適宜変更してください。

❯ container run -it claude-code zsh

[powerlevel10k] fetching gitstatusd .. [ok]
 node  /workspace 

では claude コマンドを実行してみましょう。

お馴染みの画面が表示されたら成功です。そのまま Claude アカウントでログインしましょう。

コンテナの中ですので、ブラウザを開くことはできませんので、ログインの際には下記のように表示される URL をコピーして、ブラウザで開いてください。表示されたトークンを Paste code here if prompted の部分に貼り付けてエンターを押してください。なお、画像内のトークンは有効期限が切れていますのでご安心ください。

以上でセットアップが完了しました。おつかれさまでした。あとは --dangerously-skip-permissions オプションをつけるなり、お好きに Claude Code で遊んじゃいましょう!

お片付け

コンテナの一覧を表示してみましょう。

コンテナをストップ、削除してください。

container stop container-id>
container delete container-id>

すべて削除したい場合は xargs で繋げてあげましょう。

container list --all --quiet | xargs container delete

ちなみに、Apple Container そのものを削除したい場合は、以下のコマンドでアンインストール可能です。実行するとすぐに container コマンドが使えなくなりますので、ご注意ください。

uninstall-container.sh -d

ヘルプコマンドは下記のようになっています。

❯ uninstall-container.sh --help
Invalid option: --
Usage: /usr/local/bin/uninstall-container.sh {-d | -k}
Uninstall container

Options:
d     Delete user data directory.
k     Don't delete user data directory.

おまけ

https://github.com/apple/container/blob/main/docs/tutorial.md

Apple Container のチュートリアルが用意されています。ひと通り目を通しておくとイメージが沸くかと思います。


以上となります。



Source link

Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -