メインコンテンツに移動

DDEV環境でポートコンフリクトの解消

2025.10.12   2025.10.12
DDEV_ogp

DDEVの開発環境ディレクトリ構成 

DDEVDrupalなど開発するときは以下の構成にして使っている。

テストや別環境や検証環境を分けたいときは「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