VS Code Docker扩展无法"attach shell".

3
当我尝试在我的任一Docker容器上右键单击 -> 附加shell时,一个终端窗口会打开并输出以下内容:
 *  Executing task: docker exec -it <container_id> bash 

zsh:1: command not found: docker

 *  The terminal process "/bin/zsh '-c', 'docker exec -it <container_id> bash'" failed to launch (exit code: 127). 
 *  Terminal will be reused by tasks, press any key to close it. 

当我手动运行docker exec -it <container_id> bash时,它可以正常工作。但“附加外壳”下拉选项无法使用。为什么?
我尝试将默认终端更改为bash,但没有成功。我使用的是搭载M1芯片的Mac Monterey 12.1。通过一些搜索,我发现一个帖子提到这可能是Mac的问题,但那个帖子使用的是不同的操作系统版本。
1个回答

6
问题与其他问题的以下答案有关:https://dev59.com/4lIG5IYBdhLWcg3wpDJk#65304142 "vscode中npm脚本以/bin/zsh-c(非登录非交互)启动。这意味着~/.zshrc内的脚本不会被执行(出于相同的原因,~/.zprofile也是如此)。但是,即使在非登录非交互模式下,~/.zshenv也会被加载。"
"对我来说,问题在于我的路径变量。"
"为了解决这个问题,我按照以下步骤操作:"
Open ~/.zshrc and move whatever scripts that is loading yarn into ~/.zshenv

将包含 docker 的路径变量复制到 ~/.zshenv 文件中。

~/.zshenv

export PATH="/usr/local/bin:$PATH"

哈哈哈,这是一个有趣的问题。OP 是如何知道 ~/.zshenv 被加载了? - cruise_lab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接