Spring Boot tasvirlarini yaratish: Paketo quruvchisining proksisini sozlash
Proksi o'zgaruvchilarini Paketo quruvchisiga Gradle bootBuildImage yoki Maven image.env orqali uzating, yaratish vositasi va Docker demonidan alohida.
Yaratish vositasi o'z bog'liqliklarini muvaffaqiyatli hal qilishi mumkin, ammo Paketo buildpack runtime-ni yuklab olmaydi. Buildpack quruvchi konteyneri ichida ishlaydi va o'zining proksi kiritishiga muhtoj.
Gradle'ning bootBuildImage vazifasi
Spring Boot'ning mavjud bootBuildImage vazifasiga ega Groovy build.gradle faylida:
tasks.named("bootBuildImage") {
environment["HTTP_PROXY"] = "http://proxy.example:8080"
environment["HTTPS_PROXY"] = "http://proxy.example:8080"
}
Maven plagin image.env dan foydalanadi
spring-boot:build-image uchun bu qiymatlarni mavjud Spring Boot Maven plagini konfiguratsiyasidagi image.env ostiga joylashtiring:
<configuration>
<image>
<env>
<HTTP_PROXY>http://proxy.example:8080</HTTP_PROXY>
<HTTPS_PROXY>http://proxy.example:8080</HTTPS_PROXY>
</env>
</image>
</configuration>
Gradle vazifa muhiti ham, Maven image.env ham quruvchiga qiymatlar beradi. Ikkala nom ham bir xil oddiy HTTP vositachisini bildirishi mumkin, HTTPS artefakt URL'lari uchun ham. Ommaviy proksilar orqali ruxsat etilgan ommaviy artefakt yuklab olishlar uchun HTTP proksilar ro'yxati bu quruvchi qiymatlariga nomzodlar taqdim etadi.
Bu sozlama Gradle'ning systemProp.http.proxyHost xususiyatlaridan mustaqil. Ular JVM ga tegishli va quruvchi ichidagi boshqa jarayonni avtomatik sozlamaydi.
Docker demoni avval kerakli quruvchi va ishga tushirish tasvirlarini olishi kerak. O'sha oldingi bosqichdagi reyestr xatosi demonning marshruti va reyestr konfiguratsiyasini talab qiladi, hali boshlanmagan buildpack ga berilgan o'zgaruvchini emas.
Quruvchi konteyneridan yetib borish mumkin bo'lgan proksi so'nggi nuqtasidan foydalaning. Uning loopback manzili o'sha konteynerni bildiradi, albatta dasturchining ish stantsiyasini emas.
Yakuniy ilovaning ish muhitini ham qasddan saqlang. Yaratish vaqtidagi kirish va ilova keyin ishlaganda foydalaniladigan marshrut ikki alohida konfiguratsiya qaroridir.