用于Windows 10的docker-machine上的Intellij docker集成插件和无效卷规范

时间:2017-02-19 17:26:23

标签: docker intellij-idea windows-10 docker-compose docker-machine

我正在尝试将intellij的docker集成插件与在Windows 10上安装的docker-machine上运行的Get started with Docker Compose上的以下教程一起使用。我的项目位于:C:\Users\bob\IdeaProjects\foo

如果我从Windows主机上的命令行运行docker-compose up,一切正常。如果我尝试使用intellij docker集成插件创建Docker部署并指定docker-compose.yml,则会出现以下错误。

ERROR: for web  Cannot create container for service web: invalid bind mount spec "C:\\Users\\bob\\IdeaProjects\\foo:/code:rw": invalid volume specification: 'C:\Users\bob\IdeaProjects\foo:/code:rw'
Encountered errors while bringing up the project.
No containers created for service: web
Failed to deploy 'Compose:  docker-compose.yml': Some services/containers not started

我认为这只是intellij docker集成插件的一个问题。我尝试将COMPOSE_CONVERT_WINDOWS_PATHS设置为1或0而创建.env但没有成功。

有没有人知道如何修复intellij docker集成插件来安装.:/code等卷?

1 个答案:

答案 0 :(得分:0)

以下是Docker documentation的摘录:

  

Compose支持在名为.env的环境文件中声明默认环境变量,该文件位于文件夹中,docker-compose命令从(当前工作目录)执行。

这里棘手的部分是识别Intellij IDEA使用的“当前工作目录”。不幸的是,Docker插件不允许明确指定它。所以,我做了一些研究,最后在IDEA中找到答案javadoc

  

默认情况下,使用IDE进程的当前目录(通常是IDE安装的“bin /”目录)。

将.env文件放在我的IDEA安装的/ bin下并重新启动IDE后,问题就解决了。

希望,这有帮助。