Spring Boot образдарын куруу: Paketo куруучусунун проксисин жөндөө
Прокси өзгөрмөлөрүн Paketo куруучусуна Gradle bootBuildImage же Maven image.env аркылуу өткөрүңүз, куруу куралынан жана Docker демонунөн өзүнчө.
Куруу куралы өз көз карандылыктарын ийгиликтүү чече алат, ал эми Paketo buildpack аткаруу чөйрөсүн жүктөй албайт. Buildpack куруучу контейнердин ичинде иштейт жана өзүнүн прокси киришине муктаж.
Gradle'дын bootBuildImage тапшырмасы
Spring Boot'тун учурдагы bootBuildImage тапшырмасы бар Groovy build.gradle файлында:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Maven плагини image.env колдонот
spring-boot:build-image үчүн бул маанилерди Spring Boot Maven плагининин учурдагы конфигурациясындагы image.env астына жайгаштырыңыз:
<configuration>
<image>
<env>
<HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
<HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
</env>
</image>
</configuration>
Gradle тапшырма чөйрөсү да, Maven image.env да куруучуга маанилерди берет. Эки ат тең эле бирдей кадимки HTTP ортомчусун билдириши мүмкүн, HTTPS артефакт URL'дери үчүн да. Жалпы проксилер аркылуу уруксат берилген жалпы артефакт жүктөөлөрү үчүн HTTP прокси тизмеси ушул куруучу маанилерине талапкерлерди сунуштайт.
Бул жөндөө Gradle'дын systemProp.http.proxyHost касиеттеринен көз каранды эмес. Алар JVM'ге таандык жана куруучунун ичиндеги башка процессти автоматтык түрдө конфигурациялабайт.
Docker демону адегенде керектүү куруучу жана аткаруу образдарын алышы керек. Ошол эртерек баскычтагы реестр катасы демондун маршрутун жана реестр конфигурациясын талап кылат, ал эми баштала элек buildpack'ке берилген өзгөрмөнү эмес.
Куруучу контейнерден жетүүгө боло турган прокси акыркы чекитин колдонуңуз. Анын loopback дареги ошол контейнерди аныктайт, сөзсүз түрдө иштеп чыгуучунун жумуш станциясын эмес.
Акыркы колдонмонун аткаруу чөйрөсүн да атайын кармаңыз. Куруу учурундагы жеткиликтүүлүк жана колдонмо кийин иштегенде колдонулуучу маршрут — өзүнчө конфигурация чечимдери.