
DDEVの開発環境ディレクトリ構成
DDEVをDrupalなど開発するときは以下の構成にして使っている。
テストや別環境や検証環境を分けたいときは「test1」など、欲しい環境に近いディレクトリを複製してディレクトリのconfig.yamlを修正して直ぐに環境が整う。
ddev/
├── test1/ ← test1ドメイン
│ ├── web/ ← ドキュメントルート
│ ├── .ddev/
│ │ └── config.yaml ← test1用DDEV設定
│ └── composer.json
│
├── test2/ ← test2ドメイン
│ ├── web/ ← ドキュメントルート
│ ├── .ddev/
│ │ └── config.yaml ← test2用DDEV設定
│ └── composer.json
│
└── test3/ ← test3ドメイン
├── web/ ← ドキュメントルート
├── .ddev/
│ └── config.yaml ← test3用DDEV設定
└── composer.json
Docerを入れていた外付けSSDが壊れてからDDEVの複数環境を起動するとポートのコンフリクトメッセージが・・・。
Starting drupal10...
Port 80 is busy, using 33000 instead, see [https://ddev.com/s/port-conflict](https://ddev.com/s/port-conflict)
Port 443 is busy, using 33001 instead, see [https://ddev.com/s/port-conflict](https://ddev.com/s/port-conflict)
Port 8025 is busy, using 33002 instead, see [https://ddev.com/s/port-conflict](https://ddev.com/s/port-conflict)
Port 8026 is busy, using 33003 instead, see [https://ddev.com/s/port-conflict](https://ddev.com/s/port-conflict)
Port 8143 is busy, using 33004 instead, see [https://ddev.com/s/port-conflict](https://ddev.com/s/port-conflict)
Port 8142 is busy, using 33005 instead, see [https://ddev.com/s/port-conflict](https://ddev.com/s/port-conflict)
そしてrouter起動時に以下のメッセージで処理が止まる。
Starting ddev-router if necessary...
Container ddev-router Recreate
Container ddev-router Recreated
Container ddev-router Started
Failed to start drupal10: ddev-router failed to become ready; log=, err=health check timed out after 1m0s: labels map[com.docker.compose.oneoff:False com.docker.compose.service:ddev-router] timed out without becoming healthy, status=, detail= ddev-router:starting
Troubleshoot this with these commands:
docker logs ddev-router
docker inspect --format "{{ json .State.Health }}" ddev-router | docker run -i --rm ddev/ddev-utilities jq -r
調べたところ、/Users/〇〇/.ddev/global_config.yaml ポート設定は以下のようになっている。
router_http_port: "80"
router_https_port: "443"
証明書やmkcertの問題でもなさそうだ。
ddev-routerログの確認
docker logs ddev-router で問題の箇所が確認できる。この場合だと「test1」と「test3」のサイトのに問題があると分かる。
docker logs ddev-router --tail 100
2025-10-12T10:00:10+09:00 ERR EntryPoint doesn't exist entryPointName=http-8080 routerName=test1-web-80-http@file
2025-10-12T10:00:10+09:00 ERR No valid entryPoint for this router routerName=test1-web-80-http@file
2025-10-12T10:00:10+09:00 ERR EntryPoint doesn't exist entryPointName=http-8080 routerName=test3-web-80-http@file
2025-10-12T10:00:10+09:00 ERR No valid entryPoint for this router routerName=test3-web-80-http@file
2025-10-12T10:00:10+09:00 ERR EntryPoint doesn't exist entryPointName=http-8443 routerName=test1-web-80-https@file
2025-10-12T10:00:10+09:00 ERR No valid entryPoint for this router routerName=test1-web-80-https@file
2025-10-12T10:00:10+09:00 ERR EntryPoint doesn't exist entryPointName=http-8443 routerName=test3-web-80-https@file
2025-10-12T10:00:10+09:00 ERR No valid entryPoint for this router routerName=test3-web-80-https@file
2025-10-12T10:00:10+09:00 ERR EntryPoint doesn't exist entryPointName=http-8443 routerName=test3-web-80-https@file
2025-10-12T10:00:10+09:00 ERR No valid entryPoint for this router routerName=test3-web-80-https@file
2025-10-12T10:00:10+09:00 ERR EntryPoint doesn't exist entryPointName=http-8443 routerName=test1-web-80-https@file
2025-10-12T10:00:10+09:00 ERR No valid entryPoint for this router routerName=test1-web-80-https@file
該当するyamlを削除して再起動をする。
# test1とtest3の設定ファイルを削除
rm /ddev/test1/.ddev/traefik/config/test1.yaml
rm /ddev/test3/.ddev/traefik/config/test3.yaml
# ddev-routerを再起動
docker restart ddev-router
# まだ解決しない場合は
ddev poweroff
rm -rf /ddev/test1/.ddev/traefik/
rm -rf /ddev/test3/.ddev/traefik/
ddev start