Spring Boot-beeldboue: stel die Paketo-bouer se proxy in
Gee proxyveranderlikes aan 'n Paketo-bouer deur Gradle bootBuildImage of Maven image.env, apart van die bougereedskap en die Docker-agtergronddiens.
'n Bougereedskap kan sy afhanklikhede suksesvol oplos terwyl 'n Paketo-boublokkie nie 'n looptyd kan aflaai nie. Die boublokkie loop binne die bouhouer en het sy eie proxy-invoer nodig.
Gradle se bootBuildImage-taak
In 'n Groovy build.gradle met Spring Boot se bestaande bootBuildImage-taak:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Die Maven-inprop gebruik image.env
Vir spring-boot:build-image, plaas hierdie waardes onder image.env in die bestaande Spring Boot Maven-inpropkonfigurasie:
<configuration>
<image>
<env>
<HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
<HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
</env>
</image>
</configuration>
Gradle se taakomgewing en Maven se image.env gee albei waardes aan die bouer. Albei name kan dieselfde gewone HTTP-tussenparty aandui, ook vir HTTPS-artefak-URL's. Vir openbare artefak-aflaaie wat deur openbare proxy's toegelaat word, verskaf die HTTP-proxylys kandidate vir hierdie bouerwaardes.
Hierdie instelling is onafhanklik van Gradle se systemProp.http.proxyHost-eienskappe. Dié behoort aan die JVM en stel nie outomaties 'n ander proses in die bouer op nie.
Die Docker-agtergronddiens moet eers die vereiste bouer- en loopbeelde verkry. 'n Registerfout in daardie vroeëre stadium vereis die agtergronddiens se roete- en registerkonfigurasie, eerder as 'n veranderlike wat aan 'n boublokkie gegee word wat nog nie begin het nie.
Gebruik 'n proxy-eindpunt wat van die bouhouer bereikbaar is. Die loopback-adres daarvan identifiseer daardie houer, nie noodwendig die ontwikkelaar se werkstasie nie.
Hou ook die finale toepassing se looptyd-omgewing doelbewus. Toegang tydens bou en die roete wat gebruik word wanneer die toepassing later loop, is afsonderlike konfigurasiebesluite.