我正在使用 Visual Studio Code 运行 docker 容器并将我的环境变量作为文件传递。
我正在尝试从其他环境变量动态格式化字符串,但在解析字符串时遇到问题。
我能够构建容器并且调试终端选项卡显示没有问题。
我目前没有使用docker-compose.yml,而是使用Visual Studio.devcontainer设置。
开发容器.json
...
"runArgs": [
"--env-file", "${localWorkspaceFolder}/.env.dev"
,
...
Run Code Online (Sandbox Code Playgroud)
.env.dev
DATABASE_DATABASE=database
DATABASE_USER=user
DATABASE_PASSWORD=password
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_DRIVER=postgresql
CONNECTION_STRING=${DATABASE_DRIVER}://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_DATABASE}
Run Code Online (Sandbox Code Playgroud)
当我输入envbash 时,它显示:
DATABASE_DATABASE=database
DATABASE_USER=user
DATABASE_PASSWORD=password
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_DRIVER=postgresql
CONNECTION_STRING=${DATABASE_DRIVER}://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_DATABASE}
Run Code Online (Sandbox Code Playgroud)
我希望它显示的地方:
DATABASE_DATABASE=database
DATABASE_USER=user
DATABASE_PASSWORD=password
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_DRIVER=postgresql
CONNECTION_STRING=postgresql://user:password@$localhost:5432/database
Run Code Online (Sandbox Code Playgroud)
是${VARIABLE_NAME}不是语法正确?
environment-variables docker visual-studio-code vscode-settings