自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

VS Code 的 “Remote - Containers” 擴(kuò)展 使你能夠創(chuàng)建一個(gè)容器定義,使用該定義來構(gòu)建一個(gè)容器,并在容器內(nèi)進(jìn)行開發(fā)。這個(gè)容器定義可以和應(yīng)用程序代碼一起被簽入到源代碼庫(kù)中,這使得所有的開發(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ù)之前,請(qǐng)確保你的紅帽企業(yè) Linux(RHEL)或 Fedora 工作站已經(jīng)更新了最新的補(bǔ)丁,并且安裝了 VS Code 和 “Remote - Containers” 擴(kuò)展。(參見 VS Code 網(wǎng)站了解更多安裝信息)

接下來,用一個(gè)簡(jiǎn)單的 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”,并向下滾動(dòng)找到 “Remote - Containers: Docker Path” 選項(xiàng)。在文本框中,用 “podman” 替換 “docker”。

 

在文本框中輸入 “podman”

 

現(xiàn)在配置已經(jīng)完成,在 VS Code 中為該項(xiàng)目創(chuàng)建一個(gè)新的文件夾或打開現(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)境的類型。對(duì)于這個(gè)例子的配置,搜索 “Python 3” 定義并選擇它。

 

選擇 Python 3 定義

 

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

 

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

 

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

 

取消勾選 “Install Node.js"

 

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

啟用免 root 容器

除了明顯的安全優(yōu)勢(shì)外,以免 root 方式運(yùn)行容器的另一個(gè)原因是,在項(xiàng)目文件夾中創(chuàng)建的所有文件將由容器外的正確用戶 ID(UID)擁有。要將開發(fā)容器作為免 root 容器運(yùn)行,請(qǐng)修改 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)建一個(gè)用戶命名空間,將你的 UID 和 GID 原樣映射到容器內(nèi),并在容器內(nèi)使用 vscode 作為你的用戶名。devcontainer.json 文件應(yīng)該是這樣的(別忘了行末的逗號(hào),如圖所示):

 

更新后的 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)建容器?,F(xiàn)在是休息一下的好時(shí)機(jī)(拿上你最喜歡的飲料),因?yàn)闃?gòu)建容器可能需要幾分鐘時(shí)間:

 

構(gòu)建容器

 

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

接下來的步驟

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

  • 修改 Dockerfile 以安裝額外的軟件(例如,所需的 Python 模塊)。
  • 使用一個(gè)定制的容器鏡像。例如,如果你正在進(jìn)行 Ansible 開發(fā),你可以使用 Quay.io 的 Ansible Toolset。(確保通過 Dockerfile 將 vscode 用戶添加到容器鏡像中)
  • 將 .devcontainer 目錄下的文件提交到源代碼庫(kù),以便其他開發(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,你可以輕松地為多個(gè)開發(fā)人員建立一個(gè)一致的環(huán)境,減少設(shè)置時(shí)間,并以安全的方式減少開發(fā)環(huán)境的差異帶來的錯(cuò)誤。

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

2022-11-17 10:23:13

VS CodeCodiumPython

2018-10-10 14:21:06

Python 工具程序員

2018-09-08 09:25:05

編程語言PythonVS Code

2021-02-05 09:18:33

VS CodeVim操作

2024-02-29 18:05:21

Code插件工具

2023-09-21 18:14:34

VSCode擴(kuò)展工具

2021-10-22 10:16:37

微軟瀏覽器開發(fā)

2021-06-28 07:13:34

Vue Code 擴(kuò)展

2022-04-20 09:02:57

架構(gòu)

2022-09-13 15:44:52

VSLook插件

2011-08-31 17:58:00

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

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技巧符號(hào)

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ù)棧公眾號(hào)