nginx 无法启动,ddev路由器无法就绪,复制上游

cygmwpex  于 2023-10-17  发布在  Nginx
关注(0)|答案(3)|浏览(97)

我以前有一个本地drupal站点在ddev中工作,然后不知何故代码被删除,ddev容器保持配置。
当我试图重建我的本地站点时,我通过在.ddev/config.yaml中设置以下内容将其设置为local.子域:

additional_hostnames:
- local.mysitename

不知何故,在重新配置ddev的过程中,我最终得到了两个同名的ddev容器,当我尝试启动容器时,出现了以下错误。

Failed to start mysitename: ddev-router failed to become ready: logOutput=2019/03/19 22:29:32 [emerg] 15415#15415: duplicate upstream "local.mysitename.ddev.local-80" in /etc/nginx/conf.d/default.conf:198
nginx: [emerg] duplicate upstream "local.mysitename.ddev.local-80" in /etc/nginx/conf.d/default.conf:198
nginx: configuration file /etc/nginx/nginx.conf test failed, err=container /ddev-router unhealthy: 2019/03/19 22:29:32 [emerg] 15415#15415: duplicate upstream "local.mysitename.ddev.local-80" in /etc/nginx/conf.d/default.conf:198
nginx: [emerg] duplicate upstream "local.mysitename.ddev.local-80" in /etc/nginx/conf.d/default.conf:198
nginx: configuration file /etc/nginx/nginx.conf test failed

从ddev中删除容器并重新配置它似乎没有帮助。
我如何才能从ddev中删除这两个容器,或者我如何至少解决上面的错误?

uttx8gqw

uttx8gqw1#

不知道官方的解决方案是什么,但我得到了它“固定”:

  • 解决Docker容器问题
  • 运行docker ps -a以列出所有Docker容器
  • 运行docker rm -f ID,其中ID是名为的docker容器的ID:
  • ddev-mysitename-web
  • ddev-mysitename-dba
  • ddev-mysitename-db
  • 将Docker重置为出厂默认值
  • 重新运行ddev安装程序(顺便说一句,注意我在Windows上)
  • 在网站上运行ddev start

不理想,但我上面所做的就是解决我的问题。
注意:这将擦除所有本地站点的ddev DB

f3temu5u

f3temu5u2#

ddev poweroff删除ddev-router容器,然后重新启动DDEV来重新创建容器。

wlzqhblo

wlzqhblo3#

对我来说,我可以在检查所有添加的docker-compose-*.yaml文件后修复它。检查主机名、暴露端口和环境非常重要。因为它在后台使用Traefik,所以必须将环境HTTP_EXPOSE设置为我公开的端口,否则它将使用默认端口,在我的原因中将是80,主项目也使用80作为相同的端口。这就是为什么路由器会告诉我有一个重复的上游。
另外,请确保重新启动ddev以及检查您的卷。

相关问题