了解しました。以下に 第6章:6.2 authのサービスをdevcontainerと繋ぐ方法 を、初学者向け・具体例中心・一行コメント付きコード付きでまとめます。
docker-compose.override.yml
の併用VSCode(a)
└── Remote SSH →
Ubuntu(b)
├── /home/dev/app/ ← appのdocker-compose起動元
│ └── docker-compose.override.yml ← authの中身を上書き
└── /home/dev/auth/ ← devcontainer起動中、Railsソースあり
└── /workspace ← ここがdevcontainer上の作業フォルダ
auth
devcontainer 側:devcontainer.json の設定// /home/dev/auth/.devcontainer/devcontainer.json
{
"name": "auth-dev",
// Ruby + Rails を含む開発用Dockerfile
"dockerFile": "Dockerfile",
// build context(通常は .. → /home/dev)
"context": "..",
// コンテナ内の作業ディレクトリ
"workspaceFolder": "/workspace",
// ここが重要!devcontainerの /workspace に /home/dev/auth をbind
"mounts": [
"source=${localWorkspaceFolder},target=/workspace,type=bind"
],
// サーバ起動に必要な初期コマンド
"postCreateCommand": "bundle install && rails db:setup",
// 使用ユーザー
"remoteUser": "vscode"
}
# /home/dev/app/docker-compose.override.yml
version: '3.8'
services:
auth:
# devcontainer上のコードをappのauthにマウント
volumes:
# appのauthに、devcontainerのソースコードを上書きマウント
- ../auth:/app:cached
environment:
# 開発用設定
- RAILS_ENV=development