如何讓 bash 腳本查看 .env 和/或 docker-compose yaml 中設定的 env 變數?
.env
VARIABLE_ENV=VALUE_ENV
docker-compose.yml
version: '3'
services:
service:
volumes:
- ./entrypoint.sh:/entrypoint.sh
environment:
- VARIABLE_YML=VALUE_YML
entrypoint: /entrypoint.sh
入口點.sh
#!/bin/bash
echo -e "${VARIABLE_ENV}"
echo -e "${VARIABLE_YML}"
uj5u.com熱心網友回復:
該.env檔案設定對 Compose 可見的變數,就像您export在包含的 shell 中編輯它們一樣,但它不會自動在容器中設定這些變數。您可以告訴 Compose 傳遞特定變數:
environment:
- VARIABLE_YML=VALUE_YML # explicitly set
- VARIABLE_ENV # from host environment or .env file
或者傳遞.env檔案中設定的所有內容:
environment:
- VARIABLE_YML=VALUE_YML # as above
env_file: .env
這兩種形式的另一個重要區別是主機環境變數還是.env檔案優先。如果您傳遞一個值 inenvironment:則宿主環境變數獲勝,但如果它在 中env_file:,.env則始終使用。
VARIABLE_ENV=foo docker-compose up
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/365305.html
標籤:猛击 码头工人 docker-compose
下一篇:如何在bash中進行字符比較?
