Visual Studio Code远程-容器-更改外壳

时间:2019-05-04 22:29:48

标签: docker visual-studio-code containers vscode-remote

在“ VS Code远程开发”中启动连接的容器时,没有人找到启动vscode集成终端时更改容器外壳的方法。

似乎运行类似的东西。

docker exec -it <containername> /bin/bash

我正在寻找等价物

docker exec -it <containername> /bin/zsh

我发现“附加容器”的唯一设置是

"remote.containers.defaultExtensions": []

3 个答案:

答案 0 :(得分:1)

我与

合作
RUN echo "if [ -t 1 ]; then" >> /root/.bashrc
RUN echo "exec zsh" >> /root/.bashrc
RUN echo "fi" >> /root/.bashrc

还是有兴趣知道是否有一种方法可以对每个容器进行设置。

答案 1 :(得分:1)

我将 Docker 容器用于我的开发环境,并在我的 Dockerfile 中将 shell 设置为 bash

# …
ENTRYPOINT ["bash"]

然而,当 VS Code 连接到我的容器时,它坚持使用 /bin/ash shell,这让我发疯了......但是修复(至少对我而言)非常简单但并不明显:

>

enter image description here

来自.devcontainer.json reference

在我的案例中,我需要做的就是在我的 .devcontainer.json 文件中添加以下条目:

{
  …
  "settings": {
    "terminal.integrated.shell.*": "/bin/bash"
  }
  …
}

完整的 .devcontainer.json 文件(仅供参考)

{
  "name": "project-blueprint",
  "dockerComposeFile": "./docker-compose.yml",
  "service": "dev",
  "workspaceFolder": "/workspace/dev",
  "postCreateCommand": "yarn",
  "settings": {
    "terminal.integrated.shell.*": "/bin/bash"
  }
}

答案 2 :(得分:0)

查看此问题。将外壳程序路径更改为服务器的外壳程序路径

https://github.com/microsoft/vscode-remote-release/issues/220#issuecomment-490374437