چگونه میتوان از متغیرهای محیطی در docker-compose استفاده کرد؟
استفاده از متغیرهای محیطی در فایل docker-compose.yml میتواند برای تنظیمات کانتینرها و داکر کامپوز مورد استفاده قرار گیرد. برای این کار چندین روش وجود دارد:
استفاده از فایل env
یک راه ساده استفاده از فایل .env است. در این روش، شما میتوانید متغیرهای خود را در فایلی به نام .env تعریف کنید. به عنوان مثال:
MY_SECRET_KEY=SOME_SECRET
IMAGE_NAME=docker_image
سپس در فایل docker-compose.yml خود میتوانید به این متغیرها به صورت زیر دسترسی داشته باشید:
my-service:
image: ${IMAGE_NAME}
environment:
MY_SECRET_KEY: ${MY_SECRET_KEY}
اگر چندین فایل برای متغیرهای محیطی دارید می توانید بوسیله پارامتر --env-file هنگام اجرای docker-compose استفاده کنید، تا مشخص کنید که داکر کامپوز از کدام فایل استفاده کند:
docker-compose --env-file .my-env up -d
استفاده از تعریف متغیرهای محیطی
علاوه بر این، میتوانید متغیرها را به صورت مستقیم هنگام اجرای دستور docker-compose up با استفاده از روشهای زیر معرفی کنید. برای مثال اگر بخواهید متغیر POSTGRES_VERSION را تعریف کنید، میتوانید قبل از اجرای دستور:
export POSTGRES_VERSION=14
docker-compose up -d
و در فایل docker-compose.yml میتوانید به آن به این شکل اشاره کنید:
db:
image: "postgres:${POSTGRES_VERSION}"