Menu

Monday, June 24, 2019

[Docker] วิธีการส่งผ่านค่า Build Argument และตั้งค่าเป็น Environment Variable
[Docker] How to Pass Build Argument and Set as Environment Variable

สมมติว่า var_name เป็น argument ที่เราต้องการส่งเข้าไป เพื่อตั้งค่าเป็น Environment Variable

ใน Dockerfile ให้เพิ่มบรรทัดดังนี้
ARG var_name
ENV env_var_name=$var_name
บรรทัดแรกเป็นการรับค่า var_name ที่เป็น build argument
บรรทัดที่ 2 เป็นการตั้งค่า Environment Variable โดยให้ชื่อว่า env_var_name และมีค่าตาม var_name

หลังจากแก้ไข Dockerfile แล้ว เรามีวิธีการส่งค่า build argument หลายแบบดังนี้

แบบที่ 1 ส่งชื่อตัวแปรพร้อมค่าของตัวแปรที่เรากำหนดเอง
docker build --build-arg var_name=VALUE [--build-arg var_name2=VALUE2 ...] (...)

แบบที่ 2 ส่งชื่อตัวแปรพร้อมค่าของตัวแปรจาก environment variable ปัจจุบัน
docker build --build-arg var_name=${VARIABLE_NAME} (...)
โดยที่ VARIABLE_NAME เป็นชื่อของ environment variable

แบบที่ 3 ส่งชื่อตัวแปรที่เป็นชื่อเดียวกันกับ environment variable ซึ่งค่าของตัวแปรนี้จะถูกตั้งตามค่า environment variable ที่ชื่อเดียวกันโดยอัตโนมัติ
docker build --build-arg var_name (...)

No comments:

Post a Comment