Score:0

env var ได้รับการแก้ไขในคอนเทนเนอร์ distroless อย่างไร

ธง in

ฉันใช้คอนเทนเนอร์แบบไม่มี distroless สำหรับแอปของฉัน และโดยปกติแล้วฉันจะเริ่มต้นแอปดังนี้:

java -jar $ARG1 $ARG2 app.jar

ในรูปที่ไร้ประโยชน์ ฉันให้เท่านั้น

CMD ["แอป.jar"]

Args ถูกกำหนดไว้ล่วงหน้า env var ในคอนเทนเนอร์หรือเครื่องโลคัล ประเด็นคือ AFAIK env vars ได้รับการแก้ไขโดย shell/bash แต่เมื่อคอนเทนเนอร์ไม่มี sh/bash วิธีการแก้ไข env vars ฉันใช้แอปของฉันใน K8S และแอปสามารถใช้ env var จาก K8S ได้ ฉันสงสัยว่าสิ่งนี้เกิดขึ้นได้อย่างไร? ความคิดใด ๆ

muru avatar
us flag
คุณหมายถึงอะไร "แก้ไขโดย"?
celcin avatar
in flag
กำลังอ่าน env var @muru
muru avatar
us flag
ตัวแปรสภาพแวดล้อมถูกกำหนดโดยกระบวนการพาเรนต์เมื่อสร้างกระบวนการย่อย พวกมันมีอยู่ในหน่วยความจำของเด็ก - กระบวนการย่อยนั้นสามารถอ่านได้ฟรีโดยไม่ต้องใช้เปลือกใด ๆ
celcin avatar
in flag
@muru อะไร / ใครคือกระบวนการหลักในบริบทนี้ ฉันหมายถึง k8s เริ่มต้นคอนเทนเนอร์ซึ่งแยกออกจากเครื่องที่กำลังทำงานอยู่
muru avatar
us flag
But K8s knows your container definition and the env vars in the image, right? It can set those when starting the container.
celcin avatar
in flag
I wasn't aware of how this working behind the scene. I thought env var will be read by shell always. Thanks @muru

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา