情况

我有项目A和项目B,A通过 Composer 依赖于B。
B在A中实现接口(interface)的功能。

我在B中有可以正确执行的单元测试。
现在,我想通过API进行测试-为此,我为项目A午餐并通过HTTP API测试所有功能。

给定项目A,与其他开发人员共享自己的docker-compose.yml,我无法更改此配置。

广阔的环境

我在项目B中有更多的项目B。此外,我也有更多的项目A,它们与项目A的共享依赖关系相似。

问题

为了不运行测试,请对B,B上的错误,标记进行更新,并在A上运行 Composer 更新具有简单的解决方案-在供应商内部,我创建了符号链接(symbolic link)来替换已安装的项目B。

docker 的问题是,在装载量上, docker 看不到symlink(我的库)的内容。

我有

  • 适用于Mac的Docker-Edge

  • 链接

    Similar problem, but on build image

    Standard symlink, that didn't help.

    主意

    复制项目

    我认为,将项目B复制到给定的项目A供应商,但是考虑到更广泛的背景,这在将来不是解决方案。


  • 是否有可能在没有复制项目的情况下正常运行?

  • 如果不是,则:
  • 如何管理给定架构中的子项目或符号链接(symbolic link)以积极开发所有项目的项目?
  • 您是否有一些解决方案或其他设置建议?
  • 最佳答案

    是的,有可能。

    我的设置是使用覆盖配置将卷装入主容器。 -为此,请在-f中使用多媒体docker-compose

    然后通过 Composer ,将容器内的给定体积符号链接(symbolic link)到项目A。

    "repositories": [
        { "type": "path", "url": "PATH INSIDE CONTAINER", "options": {"symlink": true}}
    ],
    

    关于php - 通过symlink对子项目的Docker项目管理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45233235/

    10-12 12:22
    查看更多