Puncte:0

Cum se rezolvă env var în containerul fără distribuție?

drapel in

Folosesc un container fără distribuție pentru aplicația mea și, în mod normal, îmi pornesc aplicația după cum urmează:

java -jar $ARG1 $ARG2 app.jar

În imagine distroless am dat doar

CMD [„app.jar”]

Argumentele sunt predefinite env var în container sau mașină locală. Ideea aici este că AFAIK env vars sunt rezolvate prin shell/bash, dar când containerul nu are sh/bash, cum vor fi rezolvate env vars. Îmi rulez aplicația în K8S și aplicația poate folosi env var de la K8S. Mă întreb cum s-a întâmplat asta? Vreo idee?

muru avatar
drapel us
Ce vrei să spui cu „rezolvat prin”?
celcin avatar
drapel in
citind env var @muru
muru avatar
drapel us
Variabilele de mediu sunt setate de procesul părinte atunci când se creează un proces copil. Ele există doar în memoria copilului - procesul copilului este liber să le citească fără a fi nevoie de nicio coajă
celcin avatar
drapel in
@muru ce/cine este procesul părinte în acest context atunci? Adică k8s pornește containerul care este izolat de mașina pe care rulează.
muru avatar
drapel us
Dar K8s cunoaște definiția containerului dvs. și varsurile env din imagine, nu? Le poate seta la pornirea containerului.
celcin avatar
drapel in
Nu știam cum funcționează asta în spatele scenei. Am crezut că env var va fi citit întotdeauna de shell. Multumesc @muru

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.