您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    运用 VS Code 在容器中开发
    时间:2021-08-22 21:09 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    分歧性可以避免当你有多个开发人员开发同一个项目时出现成绩。

    当你有多个不同开发环境的开发人员在一个项目上任务时,编码和测试的不分歧性是一种风险。Visual Studio Code(VS Code)是一个集成开发环境(IDE),可以协助增加这些成绩。它可以和容器结合起来,为每个运用顺序提供独立的开发环境,同时提供一个分歧的开发环境。

    VS Code 的 “Remote - Containers” 扩展 使你可以创立一个容器定义,运用该定义来构建一个容器,并在容器内停止开发。这个容器定义可以和运用顺序代码一同被签入到源代码库中,这使得一切的开发人员可以运用相反的定义在容器中停止构建和开发。

    运用 VS Code 在容器中开发

    默许状况下,“Remote - Containers” 扩展运用 Docker 来构建和运转容器,但运用 Podman 的容器运转环境环境也很容易,它可以让你运用 免 root 容器。

    本文将率领你完成设置,经过 Podman 在免 root 容器内运用 VS Code 和 “Remote - Containers” 扩展停止开发。

    初始配置

    在继续之前,请确保你的红帽企业 Linux(RHEL)或 Fedora 任务站曾经更新了最新的补丁,并且安装了 VS Code 和 “Remote - Containers” 扩展。(参见 VS Code 网站了解更多安装信息)

    接上去,用一个复杂的 dnf install 命令来安装 Podman 和它的支持包:

    $ sudo dnf install -y podman 

    安装完 Podman 后,配置 VS Code 以运用 Podman 的可执行文件(而不是 Docker)与容器停止交互。在 VS Code 中,导航到 “文件 > 首选项 > 设置”,点击 “扩展” 旁边的 “>” 图标。在出现的下拉菜单中,选择 “Remote - Containers”,并向下滚动找到 “Remote - Containers: Docker Path” 选项。在文本框中,用 “podman” 交流 “docker”。

    运用 VS Code 在容器中开发

    在文本框中输入 “podman”

    如今配置曾经完成,在 VS Code 中为该项目创立一个新的文件夹或翻开现有的文件夹。

    定义容器

    本教程以创立 Python 3 开发的容器为例。

    “Remote - Containers” 扩展可以在项目文件夹中添加必要的基本配置文件。要添加这些文件,经过在键盘上输入 Ctrl+Shift+P 翻开命令面板,搜索 “Remote-Containers: Add Development Container Configuration Files”,并选择它。

    运用 VS Code 在容器中开发

    Remote-Containers: Add Development Container Configuration Files

    在接上去的弹出窗口中,定义你想设置的开发环境的类型。关于这个例子的配置,搜索 “Python 3” 定义并选择它。

    运用 VS Code 在容器中开发

    选择 Python 3 定义

    接上去,选择将在容器中运用的 Python 的版本。选择 “3 (default)” 选项以运用最新的版本。

    运用 VS Code 在容器中开发

    选择 “3 (default)” 选项

    Python 配置也可以安装 Node.js,但在这个例子中,取消勾选 “Install Node.js”,然后点击 “OK”。

    运用 VS Code 在容器中开发

    取消勾选 “Install Node.js"

    它将创立一个 .devcontainer 文件夹,包含文件devcontainer.json和Dockerfile。VS Code 会自动翻开devcontainer.json 文件,这样你就可以对它停止自定义。

    启用免 root 容器

    除了清楚的安全优势外,以免 root 方式运转容器的另一个缘由是,在项目文件夹中创立的一切文件将由容器外的正确用户 ID(UID)拥有。要将开发容器作为免 root 容器运转,请修正 devcontainer.json 文件,在它的末尾添加以下几行:

    "workspaceMount""source=${localWorkspaceFolder},target=/workspace,type=bind,Z"

    "workspaceFolder""/workspace"

    "runArgs": ["--userns=keep-id"], 

    "containerUser""vscode" 

    这些选项通知 VS Code 用适当的 SELinux 上下文挂载任务区,创立一个用户命名空间,将你的 UID 和 GID 原样映射到容器内,并在容器内运用 vscode 作为你的用户名。devcontainer.json 文件应该是这样的(别忘了行末的逗号,如图所示):

    运用 VS Code 在容器中开发

    更新后的 devcontainer.json 文件 (责任编辑:admin)