docker 运行 错误环境变量包含空格

docker run error environment variable contains whitespaces

我有如下名称的环境变量文件.env-template

export S3_BASE_FOLDER_URL="oa-eui-dev-plt-env-kpidev-oa"
export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
export AWS_DEFAULT_REGION="us-west-1"
export DB_HOST="host.docker.internal"
export DB_NAME="bcpdemo"
export DB_USER="SA"
export DB_PASS="1234Qwer!"
export BATCH_IMPORT_JOB_NAME=""
AWS_BATCH_JOB_ARRAY_INDEX=0

while 运行ning docker 运行 命令喜欢

docker run --env-file env_template --name bcpbatchcontainer bcpbatchimage

显示如下错误

docker: open env_template: The system cannot find the file specified.
See 'docker run --help'.

如果我用 -e 传递环境变量,它不会显示任何问题。但是我需要传递文件。

根据 docs 你必须使用相对路径 (./)。

这对我有用:

docker run --env-file ./.env-template <your_image>

您的 .env 文件也不需要 export,这有效:

S3_BASE_FOLDER_URL="oa-eui-dev-plt-env-kpidev-oa"
AWS_ACCESS_KEY_ID=""
AWS_SECRET_ACCESS_KEY=""
AWS_DEFAULT_REGION="us-west-1"
DB_HOST="host.docker.internal"
DB_NAME="bcpdemo"
DB_USER="SA"
DB_PASS="1234Qwer!"
BATCH_IMPORT_JOB_NAME=""
AWS_BATCH_JOB_ARRAY_INDEX=0

如果您尝试维护 export 单词,它会抛出错误:

docker: poorly formatted environment: variable 'export S3_BASE_FOLDER_URL' contains whitespaces.