首页 > 解决方案 > vs code docker 添加运行参数,如 --privileged

问题描述

我尝试使用 --privileged 运行我的容器。我当然可以使用“docker run --privileged ...”在终端上手动执行此操作,但我使用 vs 代码,当我按下“Docker:启动 .Net Core(预览版)”时,它会处理“docker run”命令本身。

我尝试过类似以下但没有运气的方法;

       {
       "name": "Docker: Launch .NET Core (Preview)",
       "type": "docker-coreclr",
       "request": "launch",
       "preLaunchTask": "build",
       "appProject": "${workspaceFolder}/Services/***/***.csproj",
       "appFolder": "${workspaceFolder}/Services/***/",
       "dockerBuild": {},
       "dockerRun": {"network": "host", "runArgs": ["--privileged"]}
   },

在 Visual Studio 上,当我将以下行添加到 .csproj“PropertyGroup”标签时,它可以工作;

<DockerfileRunArguments>--net host --privileged -p 80:8081 -p 443:44342</DockerfileRunArguments>

标签: docker.net-corevisual-studio-codedocker-compose

解决方案


我在带有远程容器插件的 Ubuntu 20.04 和 Windows 10 的 VS Code 中尝试了这个

在 Remote-Containers 配置文件:devcontainer.json 中,您可以添加其他运行命令参数,包括 --privileged。我的配置如下。

{
    "name": "Ubuntu",
    ...
    // "remoteUser": "vscode",
    "runArgs": ["--privileged"]
}

devcontainer.json 的位置是:<my_workspace>/.devcontainer/devcontainer.json

每次更改 JSON 后,都需要在 VSC 中执行

  1. F1
  2. 远程容器:在容器中重建和重新打开

推荐阅读