BOM问题和“服务'version'必须是映射而不是字符串”

时间:2019-05-21 09:00:36

标签: docker character-encoding docker-compose

我工作场所的某个人创建了一堆.yml文件以与docker-compose一起使用。所有这些.yml文件都是在Windows 10中使用UTF-8 with BOM编码创建的。每当我将docker-compose命令与那些.yml文件一起运行时,都会出现此错误:

  

安全警告:您正在针对非Windows Docker主机从Windows构建Docker映像。添加到构建上下文的所有文件和目录都将具有“ -rwxr-xr-x”权限。建议仔细检查并重置敏感文件和目录的权限。

     

错误:在文件'c:/repository/docker-compose-test.yml'中,服务'version'必须是映射,而不是字符串。

我可以通过打开所有.yml文件并使用UTF-8编码(删除BOM)进行保存来解决此问题。我不会认为这是一个问题,但是我的问题是,我是唯一正在发生这种情况的人。其他所有人都可以将其与带有丹麦语或英语语言包的Windows 10一起使用。

我们所有的Windows安装都完全相同,因为它们来自完全相同的映像,因此看来我遇到了一些问题。

此外,在正确使用$Env:COMPOSE_CONVERT_WINDOWS_PATHS = 1之前,我必须在PowerShell终端中编写此docker-compose。没人需要这样做。

这可能是Docker问题吗?如果是这样,我该如何解决?所有.yml文件都在存储库中共享,因此每次修复所有文件都会很麻烦。

0 个答案:

没有答案