在“ VS Code远程开发”中启动连接的容器时,没有人找到启动vscode集成终端时更改容器外壳的方法。
似乎运行类似的东西。
docker exec -it <containername> /bin/bash
我正在寻找等价物
docker exec -it <containername> /bin/zsh
我发现“附加容器”的唯一设置是
"remote.containers.defaultExtensions": []
答案 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,这让我发疯了......但是修复(至少对我而言)非常简单但并不明显:
来自.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