日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用VSCode在容器中開發(fā)

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

成都創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)新鄭,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

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

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

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

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

初始配置

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

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

 
 
 
 
  1. $ sudo dnf install -y podman 

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

在文本框中輸入 “podman”

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

定義容器

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

“Remote - Containers” 擴展可以在項目文件夾中添加必要的基本配置文件。要添加這些文件,通過在鍵盤上輸入 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)” 選項以使用最新的版本。

選擇 “3 (default)” 選項

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

取消勾選 “Install Node.js"

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

啟用免 root 容器

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

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

這些選項告訴 VS Code 用適當?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”。點擊它,VS Code 將開始構(gòu)建容器?,F(xiàn)在是休息一下的好時機(拿上你最喜歡的飲料),因為構(gòu)建容器可能需要幾分鐘時間:

構(gòu)建容器

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

接下來的步驟

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

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

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


新聞標題:使用VSCode在容器中開發(fā)
標題來源:http://www.dlmjj.cn/article/cceiedj.html