与铁锈分析仪的沙箱生锈开发

2021-05-15 01:29:33

在一年前的Mike Cardwell写了7个月前,我创建了一种简单的Python脚本,用于使用Docker进行沙箱生锈开发。它被称为更等。您将其基本上将其复制到您的路径中,将其命名为“货物”并假装安装了安装的Real Cargo应用程序。它从DockerHub中拉下最新的官方生锈码头图像,将CWD安装到其中,然后在Docker容器内运行您的货物命令。我基本上做到了这一点,因为我想在开发期间保护我的Homedir对抗箱子的潜在恶意包。如果您想了解更多关于它的信息,请查看Gitlab上的项目。

说实话,从那时起,我没有做出太多的生锈发展,所以可能有一堆我没有处理的痛苦点。我开始了一个新的项目,并认为我会尝试语言服务器生锈分析仪,因为我听到了关于它的好事。

通常使用Visual Studio代码(我的IDE的IDE),您可以安装Rust-Analyzer扩展并开始。但是,在我的情况下,因为我没有直接在我的主机上安装Rust,还有一些额外的步骤即可采取一些额外的步骤。

首先,VS代码扩展试图尝试安装和运行Rust-Analyzer二进制文件,并失败。所以我创建了另一个名为Rust-Analyzer的包装脚本,并将其丢弃在我的路径中:

如果[" $用户" !=" root" ];然后sudo" $ 0" " $ {@:1}"退出0 fiimage_name =" grepular / rust-daliczer" #如果[[$(Docker映像--Filter"参考= $ Image_Name" -Q)=="""""""" ]];然后docker build -q -t" $ image_name" 。 -f-<<< effrom sort:lateetrun rustup组件添加rust-srcrun curl -l https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-linux -o / Rust-analyzerrun Chmod 755 / Rust-Aloserentrypoint [" / rust-Analyzer"] Eof Fidocker Run \ -u $(stat -c'%u:%g'。)\ -i --rm \ -v" $ PWD:$ PWD:RO" \ - Workdir" $ PWD" \" $ image_name" " $ @"

然后我必须进入VS代码设置并手动将路径设置为此脚本:

您将在脚本的开头注意到,如果它尚未以root运行,则会重新运行它在sudo下。这是因为我的用户无法访问Docker套接字(出于安全原因)。虽然我的用户确实有sudo访问权限,但它是密码保护的。由于密码保护,Rust-Analyzer扩展将无法运行,因为它会提示密码,并未期望。因此,我在我的sudoers配置中放置了一个例外,以允许我的用户使用sudo运行生锈分析仪脚本,而​​无需密码。我通过将以下添加到/etc/sudoers.d/mike-rust-analyzer来完成此操作:

我们终于得到它了。 我可以继续在沙盒环境内运行货物,并在另一个沙箱环境中使用锈分析仪,同时在主机上使用我的IDE进行开发。 P.S. Rust-Analyzer的初始印象是它非常好,而且我从不想再次进行生锈发展。 想留下一个提示吗? 您可以使用RSS或Twitter遵循此博客。 要阅读更多,请访问我的博客索引。