gpt4 book ai didi

ddev - 两个 ddev 项目之间的通信

转载 作者:行者123 更新时间:2023-12-01 04:43:51 25 4
gpt4 key购买 nike

我有两个需要相互交互的 ddev 项目。当遇到一些问题时,我检查连接的已解析 IP。
我通过 ssh 进入 project1 和 ping project2 ( ping project2.ddev.local )
域解析为 127.0.0.1
所以我发送到这个域的每个请求都将保留在当前容器中,而不是路由到另一个项目。

重现步骤:
启动两个独立的 ddev 容器并通过 ssh 进入其中一个。尝试使用 ddev 域 ping 另一个项目。

是否有两个(或多个)项目可以相互交互的解决方案?

最佳答案

编辑 2019-01-08:实际上只需使用容器的 docker 名称即可轻松完成此操作,不需要额外的 docker-compose 配置。对于 ddev-<projectname>-db 的数据库容器.因此,您可以使用主机名 ddev-d8composer-db 访问名为“d8composer”的项目的 db 容器。 ;例如 mysql -udb -pdb -h ddev-d8composer-db db
这是另一种技术,它实际上确实让两个项目相互通信。

假设您有两个名为 project1 和 project2 的项目,并且您希望 project2 能够从 project1 访问 db 容器。

使用以下内容将 .ddev/docker-compose.extradb.yaml 添加到 project2 的 .ddev 文件夹中:

version: '3.6'
services:
web:
external_links:
- ddev-project1-db:proj1-db


现在可以从 project2 上的 web 容器访问 project1 的数据库容器。例如,您可以 mysql -h proj1-db从 project2 Web 容器内。

请注意,这通常是一个坏主意,最好不要让两个开发项目相互依赖,最好找出尽可能简单的开发环境。如果你只需要一个额外的数据库,你可能想尝试 How can I create and load a second database in ddev? .如果您只需要一个额外的 Web 容器作为 API 服务器或其他什么, other answer更好。

关于ddev - 两个 ddev 项目之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51710272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com