Docker Compose 一発で立ち上がる Coder サーバー。
DinD (Docker in Docker) 構成なので、ホストに Docker さえあれば Coder + ワークスペース環境がまるごと動く。ワークスペース内でも docker コマンドが使える。個人利用・検証向け。
docker compose up -d.env なしでもデフォルト値で起動する。http://localhost:7080 を開く。
| サービス | イメージ | 役割 |
|---|---|---|
coder |
ghcr.io/coder/coder:latest |
Coder 本体 |
dind |
docker:dind |
Docker デーモン (ワークスペースを管理) |
database |
postgres:17 |
データストア |
Coder は network_mode: "service:dind" で DinD とネットワーク名前空間を共有している。こうすると Coder からワークスペースコンテナに localhost で到達できる。代わりに Coder 自身にはポートを割り当てられないので、7080 の公開は DinD 側で行っている。
Warning DinD は
privileged: trueで動くのでコンテナ分離は効かない。個人利用・検証用途向け。信頼できないユーザーがいる環境には向かない。
DinD 内のコンテナでは cgroup v2 が threaded モードになるため、coder stat mem でコンテナのメモリ使用率を取得できない。ダッシュボードの RAM Usage 欄はエラー表示になる。
サーバー起動後、CLI を入れてテンプレートを push する。
winget install Coder.Coder
coder login http://localhost:7080
coder templates push docker --directory .\templates\docker-in-dockerbrew install coder
coder login http://localhost:7080
coder templates push docker --directory ./templates/docker-in-dockercurl -fsSL https://coder.com/install.sh | sh
coder login http://localhost:7080
coder templates push docker --directory ./templates/docker-in-dockertemplates/docker-in-docker/ — AI コーディングツール・日本語環境入りのワークスペーステンプレート。
