ไฟล์ .env ของโปรเจกต์ Compose ใช้จัดหาค่าสำหรับการแทนค่า หากต้องการส่งค่าใดค่าหนึ่งให้คอนเทนเนอร์ ให้อ้างอิงค่านั้นในการกำหนดค่าบริการ

ตัวอย่างเช่น .env มีปลายทางของพร็อกซี:

HTTP_PROXY=http://203.0.113.10:8080

บริการใช้ค่านี้ทั้งสำหรับคำขอปลายทาง HTTP และ HTTPS:

services:
  app:
    image: your-image
    environment:
      HTTP_PROXY: "${HTTP_PROXY}"
      HTTPS_PROXY: "${HTTP_PROXY}"

แทนที่ที่อยู่ตัวอย่างในเอกสารและอิมเมจ แล้วเลือกปลายทาง HTTP ที่เข้ากันได้จากบริการของคุณหรือจากรายการพร็อกซี HTTP พร็อกซี HTTP ทั่วไปสามารถพา HTTPS ผ่าน CONNECT ได้หากรองรับอุโมงค์ที่ร้องขอ

การระบุ env_file อย่างชัดเจนเป็นอีกวิธีหนึ่งในการส่งตัวแปรของไฟล์ที่เลือกให้บริการ ไฟล์สำหรับแทนค่าของโปรเจกต์ไม่ได้ทำหน้าที่เป็น env_file โดยนัยของคอนเทนเนอร์

การตรวจสอบว่าอะไรไปถึงแอปพลิเคชัน

docker compose config แสดงการกำหนดค่าบริการที่แก้ไขแล้ว ส่วน docker compose config --environment แสดงค่าที่ใช้สำหรับการแทนค่า

เปรียบเทียบสภาพแวดล้อมของบริการกับโปรเซสของแอปพลิเคชัน คอนเทนเนอร์ที่มีอยู่จะไม่ได้รับค่าใหม่เมื่อคุณแก้ไข .env ให้ใช้การเปลี่ยนแปลงผ่านวงจรชีวิตของ Compose ที่กำหนดไว้ โดยเผื่อการหยุดชะงักของบริการ

หากไม่มีตัวแปร ให้แก้ไขการกำหนดค่าบริการ หากมีอยู่แต่คำขอยังออกไปโดยตรง ให้ตรวจสอบการรองรับพร็อกซีของไคลเอนต์ HTTP การใส่ค่าผ่านสภาพแวดล้อมเป็นการจัดหาการกำหนดค่า แอปพลิเคชันต้องนำไปใช้เอง

บทความที่เกี่ยวข้อง