DDEV搭建Vanilla WordPress时web与dba容器80端口冲突问题
解决DDEV Web与DBA容器端口冲突的方案
问题根源
DDEV默认配置中,Web容器会占用主机的80/443端口,而DBA(phpMyAdmin)容器若未自定义映射端口,可能会和Web容器抢占这些端口,导致启动报错。你之前修改的phpmyadmin_port和phpmyadmin_https_port是容器内部端口,不会改变主机侧的映射关系,因此无法解决冲突。
具体解决步骤
方法1:自定义DBA容器的主机映射端口(推荐)
在项目根目录的.ddev/config.yaml中添加以下配置,指定DBA容器对外暴露的主机端口:
# 为phpMyAdmin设置独立的主机端口,避免与Web容器冲突 phpmyadmin_host_port: 8080 phpmyadmin_host_https_port: 8443
添加完成后执行命令:
ddev restart
此时DBA容器会映射到主机的8080(HTTP)和8443(HTTPS)端口,不再占用Web容器的80/443端口。
方法2:调整Web容器的主机映射端口
如果不想改动DBA端口,也可以修改Web容器的主机端口配置:
# 修改Web容器的主机端口 web_host_port: 8081 web_host_https_port: 8444
执行ddev restart生效后,需通过http://localhost:8081或https://localhost:8444访问项目。
方法3:禁用DBA容器(无需phpMyAdmin时使用)
如果不需要使用phpMyAdmin,直接关闭DBA服务即可:
# 禁用DBA容器 disable_dba: true
执行ddev restart后,DBA容器不会启动,端口冲突问题自然消失。
验证操作
配置修改并重启后,执行以下命令查看容器端口映射情况,确认Web和DBA容器的主机端口无重叠:
docker ps
内容的提问来源于stack exchange,提问作者Tyler V.
相关产品推荐
相关产品推荐

