2

Я пытаюсь использовать плагин интеграции docker для intellij со следующим учебником по Get started with Docker Compose, работающему на докер-машине, установленной в Windows 10. Мой проект находится здесь : C:\Users\bob\IdeaProjects\foo.Интеллизионный плагин Intellij docker и недопустимая спецификация тома на докере-машине для окон 10

Если я запустил docker-compose up из командной строки на моем хосте Windows, все работает. Если я попытаюсь создать развертывание Docker с помощью плагина интеграции intellij 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. Я попытался создать .env с COMPOSE_CONVERT_WINDOWS_PATHS, установленным на 1 или 0 без успеха.

У кого-нибудь есть идея, как исправить встроенный плагин интеграции docker для монтирования томов, таких как .:/code?

+0

Помогает ли http://stackoverflow.com/a/35316813/104891? – CrazyCoder

+0

Даже после прочтения это все равно не помогает. Как я уже говорил, 'docker-compose up' работает при использовании командной строки Windows, но не от плагина интеграции докеров. Кажется, я не могу понять разницу. – Francis

+0

FYI, я настраиваю свою командную строку Windows обычным способом, используя: 'docker-machine env', ' @FOR/f "tokens = *"% i IN ('docker-machine env') DO @% i' , 'cd c: \ Users \ bob \ IdeaProjects \ foo', ' docker-compose up' – Francis

ответ

0

Вот выдержка из Докер documentation:

Compose поддерживает объявление переменных по умолчанию среды в файле с именем среды .env, помещенные в Докер-Compose команды папки выполняется из (текущего рабочего каталога).

Трудная часть здесь заключается в том, чтобы идентифицировать «текущий рабочий каталог», который используется Intellij IDEA. К сожалению, плагин Docker не позволяет явно указывать его. Итак, я сделал некоторые исследования, и, наконец, нашел ответ в IDEA javadoc:

По умолчанию используется текущий каталог процесса IDE (как правило, «бен /» директории установки IDE).

После установки файла .env в/bin моей установки IDEA и перезагрузки среды IDE проблема была решена для меня.

Надеюсь, это помогает.

+0

В встроенном плагине docker есть ошибка. Я привел ссылку, в которой упоминается, что исправление поступит в intellij версии 2017.1. – Francis