UnknownHostException при загрузке обертки gradle в docker conatiner - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть java gradle проекты, имеющие разные версии java (8 и 11).

Все эти проекты строятся на разных конвейерах CI, но на том же сервере конвейера, где дом java указывает на java 8.

Я пишу конвейер непрерывной интеграции на jenkins для проекта, написанного на java 11.

Обычно этот проект не может быть скомпилирован на сервере конвейера CI, поскольку он использует переменную JAVA_HOME, которая указана на java 8.

Поэтому я решил построить этот проект в контейнере docker.

Я написал docker file

FROM gradle:jdk11
RUN mkdir /app
COPY . /app
WORKDIR /app
RUN chmod 755 gradlew
RUN ./gradlew clean build

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005","-jar","build/libs/MyProject-0.0.1-SNAPSHOT.jar"]

Сборка не удалась, и следующее исключение: ведение журнала

Step 6/7 : RUN ./gradlew clean build 
 ---> Running in 635ea12aa9a4
Downloading https://services.gradle.org/distributions/gradle-6.0.1-bin.zip

[91mException in thread "main" java.net.UnknownHostException: services.gradle.org
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
    at java.base/java.net.Socket.connect(Socket.java:609)
    at java.base/java.net.Socket.connect(Socket.java:558)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
    at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1248)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
    at org.gradle.wrapper.Download.downloadInternal(Download.java:66)
    at org.gradle.wrapper.Download.download(Download.java:51)
    at org.gradle.wrapper.Install$1.call(Install.java:62)
    at org.gradle.wrapper.Install$1.call(Install.java:48)
    at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:69)
    at org.gradle.wrapper.Install.createDist(Install.java:48)
    at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
    at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
[0mThe command '/bin/sh -c ./gradlew clean build' returned a non-zero code: 1

Оболочка Gradle не может загрузить соответствующий дистрибутив. Я попытался изменить для DistributionUrl вместо http, а не https, но в любом случае было зарегистрировано одно и то же исключение

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-6.0.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Do i Нужно изменить или добавить что-то в Dockerfile? или это что-то еще?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...