Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Visual Studio代码远程-容器-更改shell_Docker_Visual Studio Code_Vscode Remote - Fatal编程技术网

Docker Visual Studio代码远程-容器-更改shell

Docker Visual Studio代码远程-容器-更改shell,docker,visual-studio-code,vscode-remote,Docker,Visual Studio Code,Vscode Remote,在“VS代码远程开发”中启动附加容器时,是否有人找到了在启动VS代码集成终端时更改容器外壳的方法 它的运行方式似乎类似于 docker exec -it <containername> /bin/bash 我和他一起工作 RUN echo "if [ -t 1 ]; then" >> /root/.bashrc RUN echo "exec zsh" >> /root/.bashrc RUN echo "fi" >> /root/.bashrc

在“VS代码远程开发”中启动附加容器时,是否有人找到了在启动VS代码集成终端时更改容器外壳的方法

它的运行方式似乎类似于

docker exec -it <containername> /bin/bash

我和他一起工作

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

仍然有兴趣知道是否有一种方法可以设置每个容器

看看这个问题。将shell路径更改为服务器的shell路径


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

# …
ENTRYPOINT ["bash"]
然而,当VS代码连接到我的容器时,它坚持使用/bin/ash外壳,这让我抓狂。。。然而,修复(至少对我来说)非常简单,但并不明显:

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

{
…
“设置”:{
“terminal.integrated.shell.*:”/bin/bash”
}
…
}

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

{
“名称”:“项目蓝图”,
“dockerComposeFile”:“/docker compose.yml”,
“服务”:“开发人员”,
“工作空间文件夹”:“/workspace/dev”,
“后创建命令”:“纱线”,
“设置”:{
“terminal.integrated.shell.*:”/bin/bash”
}
}
RUN echo "if [ -t 1 ]; then" >> /root/.bashrc
RUN echo "exec zsh" >> /root/.bashrc
RUN echo "fi" >> /root/.bashrc
# …
ENTRYPOINT ["bash"]