我正在为一个 web 应用程序构建一个 devcontainer 设置,它使用 docker-compose 来启动多个服务。 我希望能够添加一个服务(webpack)来支持热重载到我的 docker-compose.yml,但为了做到这一点,它需要安装存储库克隆到的相同卷。 有没有办法让我的热重载服务的 docker-compose 配置能够找到并挂载 VSCode 将存储库克隆到其中时创建的卷?
我尝试克隆到命名卷并在 docker-compose.yml 中对该卷名称进行硬编码,该服务启动热重载服务,该服务可以工作,但不是最佳选择,因为每个使用 devcontainer 设置的开发人员还需要确保它们在最初启动 devcontainer 时使用相同的名称
一般来说,没有。 Docker 或 Docker Compose 不提供任何这样的功能。
但是,您可以做的是编写一个脚本,它会以某种方式从 VSCode 获取您需要的数据,并基于该数据生成 docker-compose.yml 文件。
这部分是基于意见的。您可能想看看 Ansible 和 Jinja 模板来完成最少的编码。