2016-02-22 3 views
10

Я пытаюсь напрямую построить изображение докера с помощью maven с mvn package docker:build.maven package docker: build - connection failed

Docker работает, и docker ps показывает мне мои контейнеры, поэтому я предполагаю, что все работает правильно. Я получаю следующее сообщение об ошибке, хотя:

[ERROR] Не удалось выполнить цели com.spotify: докер-Maven-плагин: 0.2.3: сборка (по умолчанию-кли) по проекту Reservierung: Исключение поймал: Java. util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: o rg.apache.http.conn.HttpHostConnectException: подключение к localhost: 2375 [localhost/127.0.0.1, localhost/0: 0: 0: 0: 0: 0: 0: 1] не удалось: подключение отказалось: connect ->

Мой первый подход состоял в том, что, поскольку я работаю над окнами, мне нужно вызвать докер-машину ip адрес вместо localhost, но это также не сработало. Я вроде как не понимаю, потому что я предполагаю, что это что-то простое, что я делаю неправильно, но я ничего не могу найти о ошибке отказа в соединении, когда докер работает (по-видимому) правильно.

Прошу прощения, если это тривиально.

+0

Что-то выглядит странно? Localhost/0: 0: 0: 0: 0: 0: 0: 1 У вас есть репродуцирующий, файл Dockerfile, некоторые команды 'docker run'? – user2915097

ответ

4

Попробуйте запустить «docker-machine ls», чтобы проверить IP-адрес, если это не адрес локального хоста, вам понадобится тег dockerHost в вашей конфигурации плагина. например: <dockerHost>https://192.168.99.100:2376</dockerHost>

новейшая версия плагина 0.4.1 не 0.2.3

1

На MacOs, я просто установить переменные окружения, как показано

docker-machine env

При выполнении сборки из IDE, убедитесь, что эти переменные правильно установлены.

0

На Windows 7 64 докер окр кажется немного сложно установить, как это требует linuxVM для запуска (вопросы обновления с предыдущей установки VBOX) https://github.com/docker/machine/issues/3396)

К счастью, в Докер быстрого старта терминала мы можем сделать:

$ docker-machine.exe env 
    export DOCKER_TLS_VERIFY="1" 
    export DOCKER_HOST="tcp://192.168.99.101:2376" 
    export DOCKER_CERT_PATH="C:\Users\uv\.docker\machine\machines\default" 
    export DOCKER_MACHINE_NAME="default" 
    # Run this command to configure your shell: 
    # eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env) 

показывает нам, что положить в конфигурации плагина

<dockerHost>https://192.168.99.101:2376</dockerHost> 

, но только после того, как с помощью т он совет здесь:

Docker: An error occurred trying to connect

с важной частью бытия:

Run FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO %i 

мы можем запустить mvnw docker:build успешно в CMD/IntelliJ терминал :)

0

Ниже изменения сосредоточил свой вопрос на OSX El Capitan, Docker Version 1.12.1 (сборка: 12133):

export DOCKER_HOST=unix:///var/run/docker.sock 

Пожалуйста, перезапустите докер, если mvn package docker:build все еще не удается.

5

я решить проблему с помощью этого параметра:

<configuration> 
 
\t <imageName>10.10.8.175:5000/${artifactId}:${project.version}</imageName> 
 
\t <dockerHost>https://192.168.99.100:2376</dockerHost> 
 
\t <dockerCertPath>C:\Users\AtomView\.docker\machine\machines\default</dockerCertPath> 
 
\t <dockerDirectory>src/main/resources/docker</dockerDirectory> 
 
\t <resources> 
 
\t \t <resource> 
 
\t \t \t <targetPath>/</targetPath> 
 
\t \t \t <directory>${project.build.directory}</directory> 
 
\t \t \t <include>*.zip</include> 
 
\t \t </resource> 
 
\t </resources> 
 
</configuration>

4

В Windows с Докер/Hyper-V это произошло мне с com.spotify: Докер-Maven-плагин: 1.0. 0. Об этом говорится в on another forum, где они советуют включить enter image description here

в докере Настройки/вкладка «Общие». Это сработало для меня.