偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用 VS Code 在容器中開發(fā)

開發(fā) 前端
本文將帶領(lǐng)你完成設(shè)置,通過 Podman 在免 root 容器內(nèi)使用 VS Code 和 “Remote - Containers” 擴(kuò)展進(jìn)行開發(fā)。

一致性可以避免當(dāng)你有多個開發(fā)人員開發(fā)同一個項(xiàng)目時出現(xiàn)問題。

當(dāng)你有多個不同開發(fā)環(huán)境的開發(fā)人員在一個項(xiàng)目上工作時,編碼和測試的不一致性是一種風(fēng)險。Visual Studio Code(VS Code)是一個集成開發(fā)環(huán)境(IDE),可以幫助減少這些問題。它可以和容器結(jié)合起來,為每個應(yīng)用程序提供獨(dú)立的開發(fā)環(huán)境,同時提供一個一致的開發(fā)環(huán)境。

VS Code 的 “Remote - Containers” 擴(kuò)展 使你能夠創(chuàng)建一個容器定義,使用該定義來構(gòu)建一個容器,并在容器內(nèi)進(jìn)行開發(fā)。這個容器定義可以和應(yīng)用程序代碼一起被簽入到源代碼庫中,這使得所有的開發(fā)人員可以使用相同的定義在容器中進(jìn)行構(gòu)建和開發(fā)。

[[418869]]

默認(rèn)情況下,“Remote - Containers” 擴(kuò)展使用 Docker 來構(gòu)建和運(yùn)行容器,但使用 Podman 的容器運(yùn)行環(huán)境環(huán)境也很容易,它可以讓你使用 免 root 容器。

本文將帶領(lǐng)你完成設(shè)置,通過 Podman 在免 root 容器內(nèi)使用 VS Code 和 “Remote - Containers” 擴(kuò)展進(jìn)行開發(fā)。

初始配置

在繼續(xù)之前,請確保你的紅帽企業(yè) Linux(RHEL)或 Fedora 工作站已經(jīng)更新了最新的補(bǔ)丁,并且安裝了 VS Code 和 “Remote - Containers” 擴(kuò)展。(參見 VS Code 網(wǎng)站了解更多安裝信息)

接下來,用一個簡單的 dnf install 命令來安裝 Podman 和它的支持包:

  1. $ sudo dnf install -y podman 

安裝完 Podman 后,配置 VS Code 以使用 Podman 的可執(zhí)行文件(而不是 Docker)與容器進(jìn)行交互。在 VS Code 中,導(dǎo)航到 “文件 > 首選項(xiàng) > 設(shè)置”,點(diǎn)擊 “擴(kuò)展” 旁邊的 “>” 圖標(biāo)。在出現(xiàn)的下拉菜單中,選擇 “Remote - Containers”,并向下滾動找到 “Remote - Containers: Docker Path” 選項(xiàng)。在文本框中,用 “podman” 替換 “docker”。

 

在文本框中輸入 “podman”

 

現(xiàn)在配置已經(jīng)完成,在 VS Code 中為該項(xiàng)目創(chuàng)建一個新的文件夾或打開現(xiàn)有的文件夾。

定義容器

本教程以創(chuàng)建 Python 3 開發(fā)的容器為例。

“Remote - Containers” 擴(kuò)展可以在項(xiàng)目文件夾中添加必要的基本配置文件。要添加這些文件,通過在鍵盤上輸入 Ctrl+Shift+P 打開命令面板,搜索 “Remote-Containers: Add Development Container Configuration Files”,并選擇它。

 

Remote-Containers: Add Development Container Configuration Files

 

在接下來的彈出窗口中,定義你想設(shè)置的開發(fā)環(huán)境的類型。對于這個例子的配置,搜索 “Python 3” 定義并選擇它。

 

選擇 Python 3 定義

 

接下來,選擇將在容器中使用的 Python 的版本。選擇 “3 (default)” 選項(xiàng)以使用最新的版本。

 

選擇 “3 (default)” 選項(xiàng)

 

Python 配置也可以安裝 Node.js,但在這個例子中,取消勾選 “Install Node.js”,然后點(diǎn)擊 “OK”。

 

取消勾選 “Install Node.js"

 

它將創(chuàng)建一個 .devcontainer 文件夾,包含文件devcontainer.json和Dockerfile。VS Code 會自動打開devcontainer.json 文件,這樣你就可以對它進(jìn)行自定義。

啟用免 root 容器

除了明顯的安全優(yōu)勢外,以免 root 方式運(yùn)行容器的另一個原因是,在項(xiàng)目文件夾中創(chuàng)建的所有文件將由容器外的正確用戶 ID(UID)擁有。要將開發(fā)容器作為免 root 容器運(yùn)行,請修改 devcontainer.json 文件,在它的末尾添加以下幾行:

  1. "workspaceMount""source=${localWorkspaceFolder},target=/workspace,type=bind,Z"
  2. "workspaceFolder""/workspace"
  3. "runArgs": ["--userns=keep-id"], 
  4. "containerUser""vscode" 

這些選項(xiàng)告訴 VS Code 用適當(dāng)?shù)?SELinux 上下文掛載工作區(qū),創(chuàng)建一個用戶命名空間,將你的 UID 和 GID 原樣映射到容器內(nèi),并在容器內(nèi)使用 vscode 作為你的用戶名。devcontainer.json 文件應(yīng)該是這樣的(別忘了行末的逗號,如圖所示):

 

更新后的 devcontainer.json 文件

 

現(xiàn)在你已經(jīng)設(shè)置好了容器的配置,你可以構(gòu)建容器并打開里面的工作空間。重新打開命令調(diào)板(用 Ctrl+Shift+P),并搜索 “Remote-Containers: Rebuild and Reopen in Container”。點(diǎn)擊它,VS Code 將開始構(gòu)建容器。現(xiàn)在是休息一下的好時機(jī)(拿上你最喜歡的飲料),因?yàn)闃?gòu)建容器可能需要幾分鐘時間:

 

構(gòu)建容器

 

一旦容器構(gòu)建完成,項(xiàng)目將在容器內(nèi)打開。在容器內(nèi)創(chuàng)建或編輯的文件將反映在容器外的文件系統(tǒng)中,并對這些文件應(yīng)用適當(dāng)?shù)挠脩魴?quán)限?,F(xiàn)在,你可以在容器內(nèi)進(jìn)行開發(fā)了。VS Code 甚至可以把你的 SSH 密鑰和 Git 配置帶入容器中,這樣提交代碼就會像在容器外編輯時那樣工作。

接下來的步驟

現(xiàn)在你已經(jīng)完成了基本的設(shè)置和配置,你可以進(jìn)一步加強(qiáng)配置的實(shí)用性。比如說:

  • 修改 Dockerfile 以安裝額外的軟件(例如,所需的 Python 模塊)。
  • 使用一個定制的容器鏡像。例如,如果你正在進(jìn)行 Ansible 開發(fā),你可以使用 Quay.io 的 Ansible Toolset。(確保通過 Dockerfile 將 vscode 用戶添加到容器鏡像中)
  • 將 .devcontainer 目錄下的文件提交到源代碼庫,以便其他開發(fā)者可以利用容器的定義進(jìn)行開發(fā)工作。

在容器內(nèi)開發(fā)有助于防止不同項(xiàng)目之間的沖突,因?yàn)楦綦x了不同項(xiàng)目的依賴關(guān)系及代碼。你可以使用 Podman 在免 root 環(huán)境下運(yùn)行容器,從而提高安全性。通過結(jié)合 VS Code、“Remote - Containers” 擴(kuò)展和 Podman,你可以輕松地為多個開發(fā)人員建立一個一致的環(huán)境,減少設(shè)置時間,并以安全的方式減少開發(fā)環(huán)境的差異帶來的錯誤。

責(zé)任編輯:未麗燕 來源: Linux中國
相關(guān)推薦

2022-11-17 10:23:13

VS CodeCodiumPython

2018-09-08 09:25:05

編程語言PythonVS Code

2018-10-10 14:21:06

Python 工具程序員

2021-02-05 09:18:33

VS CodeVim操作

2023-09-21 18:14:34

VSCode擴(kuò)展工具

2024-02-29 18:05:21

Code插件工具

2021-06-28 07:13:34

Vue Code 擴(kuò)展

2022-04-20 09:02:57

架構(gòu)

2021-10-22 10:16:37

微軟瀏覽器開發(fā)

2011-08-31 17:58:00

VS.netLUA開發(fā)環(huán)境

2022-09-13 15:44:52

VSLook插件

2021-01-18 17:23:30

代碼調(diào)試VS Code

2024-08-22 14:30:32

前端開發(fā)VS Code

2024-08-29 16:06:26

前端Vue開發(fā)

2024-01-01 18:57:01

Code技巧符號

2011-06-08 16:56:37

VS2008 Qt

2021-04-21 07:51:06

Vue 開發(fā)VS CodeVetur

2023-04-17 07:49:34

2022-03-03 20:57:53

代碼編輯器VS code

2020-05-07 12:00:13

GitHubIDE瀏覽器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號