Docker 获取变量应用程序_ENV invalide,检查.ENV文件

Docker 获取变量应用程序_ENV invalide,检查.ENV文件,docker,symfony,deployment,Docker,Symfony,Deployment,我正在尝试使用docker在本地主机中部署symfony项目。 我的环境文件: # Environment for old Zend projects, must be one of: 'development', 'preproduction' or 'production' APPLICATION_ENV=development # Database password for prod environment (optional) PROD_DB_PASSWORD= # Database p

我正在尝试使用docker在本地主机中部署symfony项目。 我的环境文件:

# Environment for old Zend projects, must be one of: 'development', 'preproduction' or 'production'
APPLICATION_ENV=development
# Database password for prod environment (optional)
PROD_DB_PASSWORD=
# Database password for preprod environment (optional)
PREPROD_DB_PASSWORD=postgres
# Username on prod and preprod servers for dump.sh, eg: 'jimmy_bailleux', 'vincent_robic' (optional)
DUMPSH_SSH_LOG=
我在deploy.sh文件中有一个脚本:

.......
# Récuperation des variables de style
source ./shell/style.sh
source ./shell/function.sh
trap_error() {
    err_report $(caller) 

    # @TODO: Peut être vérifier que l'instance deploy_$project_name exist
    if [ "${APPLICATION_ENV}" == "production" ] || [ "${APPLICATION_ENV}" == "preproduction" ]; then
        if [ -n "$project_name" ]; then
            docker exec -i deploy_$project_name curl -X POST -H 'Content-type: application/json' --data '{"text":"Une erreur est survenu lors de la mise à jour du projet *_`'$project_name'`_* `'$APPLICATION_ENV'`"}' $slack_webhook
        fi
    fi

    docker rm -f deploy_$project_name
}
..... // 
使用env变量部署启动脚本:dev、prepod、prod。。 我启动了./deploysh,并选择了我的项目编号。 我有一个错误:

变量应用程序_ENV invalide


注意您的shell脚本EOL。一定是LF。也适用于您的.env.:D

我通过将所有sh文件格式转换为LF来解决shll脚本ELO问题,解决了从MAC OS到Windows 10的兼容性问题,并将我的DAMP文件夹放在:

c:\Users\current_user

猜测您需要显式加载.env文件。方法是添加source./.env,如中所示,或将$grep-v'^./.env|xargs导出到deploy.sh脚本中。看:这回答了你的问题吗?