envsubst
是一個 Linux 命令行工具,用于替換文本文件中的環境變量。在 Docker 容器中使用 envsubst
可以幫助你在構建或運行容器時處理環境相關的配置。
以下是在 Docker 容器中使用 envsubst
的一些示例:
# template.env
DB_HOST=${DB_HOST}
DB_PORT=${DB_PORT}
envsubst
替換模板文件中的環境變量:# export DB_HOST=localhost
# export DB_PORT=3306
envsubst < template.env > config.env
envsubst
:# 從模板文件創建配置文件
COPY template.env .
RUN envsubst < template.env > config.env
# 使用配置文件
COPY config.env /app/config.env
docker run -e DB_HOST=localhost -e DB_PORT=3306 your-image
或者,你可以在 Docker Compose 文件中設置環境變量:
version: '3'
services:
your-service:
build:
context: .
dockerfile: Dockerfile
environment:
- DB_HOST=localhost
- DB_PORT=3306
通過這些方法,你可以在 Docker 容器中有效地使用 envsubst
來處理環境相關的配置。