استفاده از متغییر های محیطی همسان بین container
و host
در دستور docker exec
، به عنوان یک چالش جالب مطرح هست.
به عنوان مثال متغییر محیطی $HOME
نمایانگر مسیر خانه کاربر جاری هست، چه در هاست و چه در کانتینر.
برای نمونه:
docker pull goyalmunish/devenv
نمونه ای که متغییر محیطی از هاست را فراخوانی می کند:
docker exec -it devenv /bin/bash -c "echo $HOME" # /home/ubuntu
نمونه ای که متغییر محیطی از داخل کانتینر را فراخوانی می کند، نکته در تفاوت استفاده از " "" هست:
docker exec -it devenv /bin/bash -c 'echo $HOME' # /root
این بود نکته ای مهم و کلیدی ولی خیلی ساده.
منابع
passing host vs container environment variables to docker exec