OpenClaw Docker Essentials スキルガイド
Docker コンテナとイメージのビルド、実行、管理。
最終更新: 2026-03-03
クイックインストール
$ npx clawhub@latest install docker-essentials主な機能
概要
Docker Essentials スキル は、Docker CLI を通じて OpenClaw に Docker コンテナの完全な管理機能を提供します。数十もの Docker コマンドやフラグを暗記する代わりに、やりたいことを自然言語で説明するだけで、OpenClaw エージェントがイメージのビルドからクラッシュしたコンテナのデバッグまで、すべてを処理します。
Docker は現代のデプロイメントパイプラインの基盤ですが、そのコマンド体系は広大です。OpenClaw Docker Essentials スキルは、意図と実行のギャップを埋め、あらゆるレベルの開発者がコンテナ化を利用できるようにします。Node.js アプリを本番環境向けにパッケージングする場合でも、レイヤー 7 でビルドが失敗する原因を調査する場合でも、エージェントがリクエストを適切な docker コマンドに変換し、出力を解釈してくれます。
一般的なワークフロー:
- OpenClaw にアプリケーションをコンテナでビルド・実行するよう依頼します。
- エージェントが Dockerfile を生成または読み取り、適切なフラグで
docker buildとdocker runを実行します。 - 結果が読みやすいサマリーとして返されます — コンテキストの切り替えは不要です。
前提条件
Docker Essentials スキルをインストールする前に、以下を準備してください:
- OpenClaw がインストールされ、実行中であること(v1.0+)
- Docker Engine がインストール済み — Docker を入手
- Docker デーモンが実行中 — このスキルは Docker ソケットと通信します
- スキル管理のための clawhub CLI がインストール済み
セットアップを確認:
# OpenClaw のバージョンを確認 openclaw --version # Docker のバージョンを確認 docker --version # Docker デーモンの実行状態を確認 docker info
docker info がエラーを返す場合は、sudo systemctl start docker(Linux)で Docker デーモンを起動するか、Docker Desktop(macOS / Windows)を開いてください。
インストール方法
1つのコマンドで Docker Essentials スキルをインストール:
npx clawhub@latest install docker-essentials
インストール前に、スキルの権限とソースコードを確認できます:
clawhub inspect docker-essentials
インストールを確認:
clawhub list
インストール済みスキルの一覧に docker-essentials が表示されるはずです。このスキルは Arnarsson が作成し、recommended バッジを取得しています。これは、適切な設定のもとで十分にテストされ、リスクが低いことを意味します。
設定
Docker Essentials スキルは、ローカルの Docker ソケット(/var/run/docker.sock)を通じて Docker デーモンに接続します。ローカル使用では API キーやトークンは不要です。
環境セットアップ
# デフォルトの Docker ソケット(通常はそのまま動作します) export DOCKER_HOST=unix:///var/run/docker.sock # リモート Docker ホストの場合(任意) export DOCKER_HOST=tcp://your-remote-host:2376 export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=~/.docker/certs
重要: TLS なしで Docker ソケットをネットワークに公開しないでください。リモート Docker ホストに接続する場合は、必ず TLS 検証を有効にし、クライアント証明書を使用してください。
Docker Compose サポート
このスキルは Docker Compose ワークフローもサポートしています。Docker Compose V2 がインストールされていることを確認してください(Docker Desktop にバンドル済み、または docker-compose-plugin を個別にインストール):
docker compose version
使用例
1. アプリケーションのビルドと実行
あなた: 「プロジェクトルートの Dockerfile から Docker イメージをビルドして、ポート 3000 で実行して。」
エージェントが docker build -t my-app . を実行し、続けて docker run -d -p 3000:3000 my-app を実行します。コンテナ ID、マッピングされたポートを報告し、アプリが localhost:3000 でアクセス可能であることを確認します。
2. 障害が発生したコンテナのデバッグ
あなた: 「コンテナ
api-serverがクラッシュし続けています。最後の 50 行のログを表示して、原因を教えて。」
エージェントが docker logs --tail 50 api-server を実行し、出力を分析して、根本原因を特定します — 例えば、環境変数の欠落やポートの競合などです。その後、修正案を提案し、あなたの代わりに適用することもできます。
3. Dockerfile の最適化
あなた: 「Dockerfile を分析して、イメージサイズを削減する最適化を提案して。」
エージェントが Dockerfile を読み取り、不要なレイヤー、マルチステージビルドの欠如、肥大化したベースイメージなどの一般的な問題を特定し、具体的な推奨事項を提供します。最適化を適用した Dockerfile を書き直すこともでき、多くの場合イメージサイズを 50% 以上削減できます。
4. Docker リソースのクリーンアップ
あなた: 「停止中のコンテナ、ダングリングイメージ、未使用のボリュームをすべて削除して。」
エージェントがクリーンアップの範囲を確認した後、docker system prune -a --volumes を実行します。解放されたディスク容量と削除されたリソースの一覧を報告します。
5. Docker Compose スタックの管理
あなた: 「docker-compose.yml で定義された開発スタックを起動して、すべてのサービスのステータスを表示して。」
エージェントが docker compose up -d を実行し、続けて docker compose ps を実行して、実行中のサービス、ポート、ヘルスステータスをフォーマットされたテーブルで表示します。サービスの起動に失敗した場合は、自動的にログを確認して問題を報告します。
セキュリティとベストプラクティス
Docker デーモンへのアクセスは強力です — 適切なフラグを持つコンテナは、ホストのファイルシステム、ネットワーク、さらには他のコンテナにもアクセスできます。安全を確保するために以下のガイドラインに従ってください:
- 特権モードを避ける。 絶対に必要な場合を除き、
--privilegedを使用しないでください。コンテナにホストへのフルアクセスを与えてしまいます。 - 非 root ユーザーを使用する。 Dockerfile に
USERディレクティブを追加して、コンテナ内でプロセスを非 root ユーザーとして実行してください。 - 確認してから実行する。 OpenClaw は
docker system pruneやdocker rm -fなどの破壊的なコマンドを実行する前に承認を求めます。影響範囲を必ず確認してください。 - リソース使用量を制限する。
--memoryと--cpusフラグを使用して、コンテナがホストのすべてのリソースを消費するのを防いでください。 - イメージの脆弱性をスキャンする。 このスキルと
docker scoutや Snyk を組み合わせて、ベースイメージの既知の CVE を特定してください。 - Docker を最新に保つ。 セキュリティパッチの恩恵を受けるために、Docker Engine の最新安定版を実行してください。
一般的なスキルのセキュリティガイドラインについては、安全性チェックリスト を確認してください。
トラブルシューティング
"Cannot connect to the Docker daemon"
Docker デーモンが実行されていないか、現在のユーザーにソケットへのアクセス権限がありません。
# Docker デーモンを起動(Linux) sudo systemctl start docker # ユーザーを docker グループに追加(sudo が不要になります) sudo usermod -aG docker $USER # グループ変更を反映するには、ログアウトして再ログインしてください
macOS または Windows では、Docker Desktop が実行中であることを確認してください。
"no space left on device"
Docker イメージ、コンテナ、ボリュームがディスクを圧迫しています。
# Docker のディスク使用量を確認 docker system df # 未使用のリソースを削除 docker system prune -a --volumes
Cron Creator スキルを使用して、定期的なクリーンアップスケジュールの設定を検討してください。
"port is already allocated"
別のプロセスまたはコンテナが、要求されたポートを既に使用しています。
# ポートを使用しているプロセスを確認(例:ポート 3000) lsof -i :3000 # またはそのポートを使用している Docker コンテナを一覧表示 docker ps --filter "publish=3000"
競合するプロセスを停止するか、-p 3001:3000 でコンテナを別のホストポートにマッピングしてください。
よくある質問
はい、責任を持って使用すれば安全です。このスキルは OpenClaw の確認モデルに従います — コンテナの削除やイメージのプルーニングなどの破壊的な操作には、明示的な承認が必要です。`--privileged` コンテナの使用を避け、確認する前にエージェントが提案するコマンドを必ずレビューすることを推奨します。本番ワークロードには、オーケストレーションレベルの制御のために [Kubernetes](/skills/kubernetes) スキルと組み合わせて使用してください。
はい。`DOCKER_HOST` 環境変数をリモート Docker デーモンに向けて設定してください(例:`tcp://remote-host:2376`)。`DOCKER_TLS_VERIFY=1` で TLS 検証を有効にし、`DOCKER_CERT_PATH` でクライアント証明書を提供します。以降のすべての操作で、設定されたホストが使用されます。ポートを公開せずにセキュアなリモートアクセスを実現するには、[Tailscale](/skills/tailscale) スキルを使用してプライベートネットワークトンネルを作成することを検討してください。
はい。このスキルは Docker Compose V2 ワークフローを完全にサポートしています。マルチコンテナスタックの起動、サービスステータスの確認、個別サービスのログ表示、環境の停止をエージェントに依頼できます。`docker-compose-plugin` がインストールされていることを確認してください(Docker Desktop にはデフォルトで含まれています)。
このスキルは Docker Engine 20.10 以降で動作します。セキュリティパッチやパフォーマンス改善の恩恵を受けるために、最新の安定リリースを実行することを推奨します。`docker --version` で現在のバージョンを確認し、アップグレードが必要な場合は [Docker インストールガイド](https://docs.docker.com/get-docker/) をご覧ください。
Docker Essentials スキルは個々のコンテナとイメージに焦点を当てています — コンテナレベルでのビルド、実行、デバッグ、最適化です。[Kubernetes](/skills/kubernetes) スキルはオーケストレーションレベルで動作します — Pod、Deployment、Service、クラスタ全体のリソースを管理します。ローカル開発やシングルホストのデプロイメントには Docker Essentials を、マルチノードオーケストレーション、オートスケーリング、サービスディスカバリが必要な場合は Kubernetes を使用してください。両方のスキルは互いに補完し合い、同時にインストールできます。
関連スキル
Kubernetes クラスタ、デプロイメント、サービスを管理。
Vercel プラットフォームでプロジェクトをデプロイ・管理。
セルフホスト型デプロイプラットフォーム(Heroku/Vercel の代替)。