问题描述
这特别涉及使用 docker-compose 文件定义服务的带有 VS Code 的远程容器。在这种情况下,其中一项服务是 MariaDB,它采用环境变量来指定包含数据库用户密码的文件的位置。该文件必须在容器启动时存在,否则它会抛出一个新手难以诊断的错误。文件可以包含一个默认值,但是如果我将它提交给公共存储库,开发人员就不能再在本地更改它,而不会有提交更改的风险。当开发人员从存储库构建本地环境时,使用默认值是可以的,并且不应该要求他们在打开容器之前在特殊位置创建文件。
根据 documentation,在 devcontainer.json
中有一个名为 initializeCommand
的属性,它似乎是运行一些代码以将默认文件复制到正确位置的地方,但开发人员可以在 Mac 或 Windows 上运行 VS Code。是否有跨平台的方式来确保环境在启动之前准备就绪?我希望这是自动化的,这样开发人员就不必在开始之前记住或知道要这样做。
基本上,它应该自动测试 secrets/sql-password.txt
是否存在并仅在文件丢失时才将 secrets/sql-default-password.txt
复制到那里。
有什么建议吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)