我想使用命令行工具来附加一个远程容器。我尝试了这个命令(见下文),但它没有用。有谁知道正确的命令吗?
code --folder-uri vscode-remote://dev-container+4aaf623ee98a52fa311226a2c619be19addfa221c090b9a3bc37e7cba03a7fce/easycv发布于 2020-09-03 09:30:21
dev- container +后面的字符串是以十六进制编码的dev容器文件夹的ascii路径。
要打开容器中的文件夹,可以使用以下style命令:
code --folder-uri=vscode-remote://dev-container%2B{path-in-hex}/{path-inside-container}例如,要打开位于/Users/jkells/projects/vscode-devcontainer中的开发容器中的文件夹/workspaces/test,我可以使用以下命令。
code --folder-uri=vscode-remote://dev-container%2B2f55736572732f6a6b656c6c732f70726f6a656374732f7673636f64652d646576636f6e7461696e6572/workspaces/test要将字符串/Users/jkells/projects/vscode-devcontainer转换为十六进制的2f55736572732f6a6b656c6c732f70726f6a656374732f7673636f64652d646576636f6e7461696e6572,可以使用以下命令
printf /Users/jkells/projects/vscode-devcontainer | od -A n -t x1 | tr -d '[\n\t ]'发布于 2020-11-20 20:16:05
为了实现自动化,我创建了这个跨平台的解决方案:
https://github.com/geircode/vscode-attach-to-container-script
此解决方案基于运行容器的名称创建十六进制。
Windows CMD脚本:
docker run --rm geircode/string_to_hex bash string_to_hex.bash "<container_name>" > vscode_remote_hex.txt
set /p vscode_remote_hex=<vscode_remote_hex.txt
code --folder-uri=vscode-remote://attached-container+%vscode_remote_hex%/app发布于 2021-04-21 05:56:27
下面的shell脚本完成了这项工作:
#!/usr/bin/env bash
case $# in
1) ;;
*) echo "Usage: code-remote-container <directory>"; exit 1 ;;
esac
dir=`echo $(cd $1 && pwd)`
hex=`printf ${dir} | od -A n -t x1 | tr -d '[\n\t ]'`
base=`basename ${dir}`
code --folder-uri="vscode-remote://dev-container%2B${hex}/workspaces/${base}"我将其保存在名称code-remote-container下,例如,可以将其用作:
code-remote-container .这将打开远程容器中的当前目录。
显然,这要求已经为vsc设置了远程容器。
https://stackoverflow.com/questions/60379221
复制相似问题