adding-docker について
Add Dockerは、アプリケーションのコンテナ化やDocker対応を支援する開発者向けエージェントスキルです。実行環境の判定から、Dockerfileと.dockerignoreの作成、必要に応じたdocker-compose.ymlの設定まで案内します。
主な機能
- 01プロジェクトの実行環境を判定
- 02マルチステージDockerfileの作成
- 03.dockerignoreファイルの追加
- 04必要に応じたdocker-compose.yml設定
- 05任意のDockerスクリプトを提案
活用シーン
- 01既存アプリへのDocker対応追加
- 02実行環境を判定してプロジェクトをコンテナ化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ revitalb-port/ skills-registry-demo --skill adding-dockerインストール後、Claude Code で/adding-dockerを入力して読み込まれたか確認します。
同梱ファイルsetup.sh
詳細
Docker の追加
ユーザーがアプリケーションの Docker 化、コンテナ化、または Docker サポートの追加を依頼した場合に、このスキルを使用します。
手順
-
ランタイムを検出する —
package.json、requirements.txt、go.mod、Cargo.tomlなどを調べて、言語とランタイムを特定します。 -
マルチステージの
Dockerfileを作成するNode.js の場合(例):
FROM node:20-alpine AS base FROM base AS deps WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev FROM base AS build WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci COPY . . RUN npm run build FROM base AS runner WORKDIR /app ENV NODE_ENV=production COPY --from=deps /app/node_modules ./node_modules COPY --from=build /app/.next ./.next COPY --from=build /app/public ./public COPY --from=build /app/package.json ./ EXPOSE 3000 CMD ["npm", "start"]検出したフレームワークに合わせて、ビルド出力ディレクトリ、エントリーコマンド、ベースイメージを調整します。
-
.dockerignoreを作成するnode_modules .next .git .env* *.md -
docker-compose.ymlを作成する(アプリにデータベースや Redis などの依存関係がある場合):services: app: build: . ports: - "3000:3000" env_file: .env depends_on: - db db: image: postgres:16-alpine environment: POSTGRES_DB: app POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres volumes: - pgdata:/var/lib/postgresql/data volumes: pgdata: -
npm スクリプトを追加する(任意)
{ "docker:build": "docker build -t myapp .", "docker:run": "docker compose up" }
注意事項
- イメージサイズを最小限に抑えるため、Alpine ベースのイメージを使用します。
.envファイルはイメージにコピーしないでください。env_fileまたは実行時のインジェクションを使用します。- モノレポの場合は、対象アプリに不要な兄弟パッケージを除外する
.dockerignoreを使用します。 - 本番環境へのデプロイでは、
HEALTHCHECK命令を追加します。
コメント
Markdown 対応