vscode dev 容器环境变量未暴露给 docker-compose

Ter*_*ero 7 docker docker-compose visual-studio-code vscode-remote vscode-devcontainer

我的docker-compose.yml样子是这样的

version: "3.8"
services: 
  vscode:
    volumes:
      - ..:/workspace:cached
      - $SSH_AUTH_SOCK:/ssh-agent
      - /var/run/docker.sock:/var/run/docker.sock
    environment: 
      - SSH_AUTH_SOCK=/ssh-agent
Run Code Online (Sandbox Code Playgroud)

问题是 vscode 不想提供任何类似的可能性,docker-compose run --env ...因此我只剩下

WARNING: The SSH_AUTH_SOCK variable is not set. Defaulting to a blank string.
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以让我在不使用.env文件或类似内容的情况下将主机中的变量公开到开发容器?

The*_*ool 2

我昨天在github上开了一个问题。结果是,如果您使用 WSL,那么您需要通过 ~/.profile 或 ~/.bash_profile 导出此变量。

我们使用非交互式登录 shell 来探测 WSL 中的环境变量并将它们用作“本地”变量。

https://github.com/microsoft/vscode-remote-release/issues/5806