Я использую Docker Desktop для Windows v1.13.0 и docker-maven-plugin v0.4.13 на своем локальном компьютере с Windows 10 Pro. Я использую mvn clean package docker:build
для создания своего проекта и создания образа докера. Сборка не работает:
[ИНФОРМАЦИЯ] ----------------------------------------------- ------------------------- [ИНФОРМАЦИЯ] ОШИБКА ПОСТРОЙКИ [ИНФОРМАЦИЯ] ----------------- -------------------------------------------------- ----- [ИНФО] Общее время: 25.006 с [ИНФО] Завершено: 2017-01-19T14:48:45-02:00 [ИНФО] Окончательная память: 68M/619M [ИНФО] ------ -------------------------------------------------- ---------------- [ОШИБКА] Не удалось выполнить цель com.spotify:docker-maven-plugin:0.4.13:build (default-cli) в проекте monitoramentoRS: поймано исключение: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: javax.net.ssl.SSLException: нераспознанное сообщение SSL, незашифрованное соединение? -> [Помощь 1]
Создание образа докера напрямую в командной строке (docker build -t ...
) работает нормально. Плагин maven отлично работал с набором инструментов Docker и Oracle Virtual Box в Windows 7.
Поэтому я считаю, что между docker-maven-plugin и демоном Docker для Windows существует проблема с конфигурацией, связанная с TLS. Я пробовал разные комбинации конфигурации, используя DOCKER_HOST
(без указания порта, 2375, 2376), DOCKER_TLS_VERIFY
и DOCKER_TLS
безрезультатно. Также попробовал атрибуты "tls"
и "tlsverify"
«расширенной» конфигурации демона Docker для Windows.
Кто-нибудь смог заставить docker-maven-plugin создать образ докера в Docker для Windows?
Мой файл %HOME%\.docker\config.json
содержит только коллекцию auths
:
{
"auths": {
"our-corporate-private-docker-registry-address": {
"auth": "an-authorization-token"
},
"https://index.docker.io/v1/": {
"auth": "an-authorization-token"
}
}
}
Ниже приведен конфиг docker-maven-plugin.
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<useConfigFile>false</useConfigFile> <!-- true yields the same error -->
<registryUrl>${docker.private.registry}</registryUrl>
<imageName>${docker.private.registry}/myrepo/myimage</imageName>
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<dockerDirectory>${basedir}/docker</dockerDirectory> <!-- Dockerfile location -->
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory> <include>${project.build.finalName}.${project.packaging}</include>
</resource>
</resources>
</configuration>
</plugin>