Подтвердить что ты не робот

Mock package docker: build - соединение отказано

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

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

[ERROR] Не удалось выполнить цель com.spotify: docker-maven-plugin: 0.2.3: build (default-cli) для резервирования проекта: Исключено: 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, но это также не сработало. Я вроде как потерялся здесь, потому что я предполагаю, что это что-то простое, что я делаю неправильно, но я ничего не могу найти о ошибке отказа в соединении, когда докер работает (по-видимому) правильно.

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

4b9b3361

Ответ 1

Я решаю проблему, используя этот параметр:

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

Ответ 2

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

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

Ответ 3

В Windows с Docker/Hyper-V это произошло с com.spotify: docker-maven-plugin: 1.0.0. Существует обсуждение этого на другом форуме, где они советуют включить введите описание изображения здесь

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

Ответ 4

В Mac OS я просто устанавливаю переменные среды, как показано

docker-machine env

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

Ответ 5

В Windows 7 64 приложение docker кажется немного сложным для установки, поскольку для его запуска требуется 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>

но только после использования совета, найденного здесь:

Докер: Произошла ошибка при попытке подключения

с важной частью:

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

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

Ответ 6

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

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

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