چگونه میتوان از متغیرهای محیطی در 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}"