国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用 VS Code 在容器中開發

開發 前端
本文將帶領你完成設置,通過 Podman 在免 root 容器內使用 VS Code 和 “Remote - Containers” 擴展進行開發。

一致性可以避免當你有多個開發人員開發同一個項目時出現問題。

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

VS Code 的 “Remote - Containers” 擴展 使你能夠創建一個容器定義,使用該定義來構建一個容器,并在容器內進行開發。這個容器定義可以和應用程序代碼一起被簽入到源代碼庫中,這使得所有的開發人員可以使用相同的定義在容器中進行構建和開發。

[[418869]]

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

本文將帶領你完成設置,通過 Podman 在免 root 容器內使用 VS Code 和 “Remote - Containers” 擴展進行開發。

初始配置

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

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

  1. $ sudo dnf install -y podman 

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

 

在文本框中輸入 “podman”

 

現在配置已經完成,在 VS Code 中為該項目創建一個新的文件夾或打開現有的文件夾。

定義容器

本教程以創建 Python 3 開發的容器為例。

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

 

Remote-Containers: Add Development Container Configuration Files

 

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

 

選擇 Python 3 定義

 

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

 

選擇 “3 (default)” 選項

 

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

 

取消勾選 “Install Node.js"

 

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

啟用免 root 容器

除了明顯的安全優勢外,以免 root 方式運行容器的另一個原因是,在項目文件夾中創建的所有文件將由容器外的正確用戶 ID(UID)擁有。要將開發容器作為免 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 用適當的 SELinux 上下文掛載工作區,創建一個用戶命名空間,將你的 UID 和 GID 原樣映射到容器內,并在容器內使用 vscode 作為你的用戶名。devcontainer.json 文件應該是這樣的(別忘了行末的逗號,如圖所示):

 

更新后的 devcontainer.json 文件

 

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

 

構建容器

 

一旦容器構建完成,項目將在容器內打開。在容器內創建或編輯的文件將反映在容器外的文件系統中,并對這些文件應用適當的用戶權限?,F在,你可以在容器內進行開發了。VS Code 甚至可以把你的 SSH 密鑰和 Git 配置帶入容器中,這樣提交代碼就會像在容器外編輯時那樣工作。

接下來的步驟

現在你已經完成了基本的設置和配置,你可以進一步加強配置的實用性。比如說:

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

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

責任編輯:未麗燕 來源: Linux中國
相關推薦

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擴展工具

2024-02-29 18:05:21

Code插件工具

2021-10-22 10:16:37

微軟瀏覽器開發

2021-06-28 07:13:34

Vue Code 擴展

2022-04-20 09:02:57

架構

2011-08-31 17:58:00

VS.netLUA開發環境

2022-09-13 15:44:52

VSLook插件

2021-01-18 17:23:30

代碼調試VS Code

2024-08-22 14:30:32

前端開發VS Code

2024-01-01 18:57:01

Code技巧符號

2024-08-29 16:06:26

前端Vue開發

2011-06-08 16:56:37

VS2008 Qt

2021-04-21 07:51:06

Vue 開發VS CodeVetur

2023-04-17 07:49:34

2022-03-03 20:57:53

代碼編輯器VS code

2020-05-07 12:00:13

GitHubIDE瀏覽器
點贊
收藏

51CTO技術棧公眾號

日韩资源av在线| 国产精品久久久久天堂| 午夜视频在线观看一区二区三区| 国产综合第一页| 精品国产乱码久久久久久果冻传媒| 亚洲精品国产精品乱码不99按摩 | 九色精品国产蝌蚪| 精品国偷自产在线视频| 2021天堂中文幕一二区在线观| 亚洲人成伊人成综合网小说| 欧美日韩不卡在线视频| 奇米777欧美一区二区| 成人av免费电影| 欧美亚韩一区| 国产精品12| 国产亚洲综合精品| 日韩精品一区二区三区丰满| 日韩国产欧美视频| 午夜久久久久久久久久久| 国产一区二区不卡老阿姨| 亚洲精品国产精品国自产| 天堂成人免费av电影一区| 日韩激情久久| 久久99久久99精品免视看婷婷 | 男女视频在线观看| 色悠久久久久综合欧美99| 超碰免费97在线观看| 亚洲精品美女在线观看| 国产成人久久精品麻豆二区| 网友自拍亚洲| 久久久久久久久久久免费| heyzo一区| 中文字幕日韩视频| 日韩一区二区三区精品视频第3页| 中文字幕久久久| 欧美日韩直播| 国产九色精品| 国产河南妇女毛片精品久久久| 国产精品8888| 亚洲激情自拍偷拍| 国产女人在线观看| 亚洲最新在线视频| 国产精品亚洲二区| 91精品国产高清久久久久久91裸体| 日韩国产欧美在线视频| 精品中文字幕av| 色播五月激情综合网| 三妻四妾完整版在线观看电视剧 | 国产日韩一区二区| 92国产精品观看| 一级二级三级在线观看| 日韩经典第一页| 中文不卡在线| 波多野结衣天堂| 亚洲国产女人aaa毛片在线| 国产欧美一区二区三区米奇| 久久www免费人成精品| 精品福利在线视频| 天堂а√在线官网| 久久免费视频这里只有精品| 日韩av在线播放中文字幕| 国内精品卡一卡二卡三新区 | 韩国三级大全久久网站| 人禽交欧美网站免费| 婷婷夜色潮精品综合在线| 国产视频一区二| 无码人妻精品一区二区蜜桃网站| 欧美一区二区三区思思人| 欧美区国产区| 成人性生交大片免费看午夜| 国产精品444| 最新国产成人在线观看| 亚洲精品69| 日本精品免费在线观看| 国产亚洲欧美日韩精品| 狠狠色狠狠色综合| av中文在线资源库| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 日本久久电影网| 精品动漫3d一区二区三区免费版 | 久久久久一区二区三区四区| 91p九色成人| 男女啪啪网站视频| 欧美激情亚洲激情| 又紧又大又爽精品一区二区| 国产精品免费大片| 黄色在线网站| 精品无码久久久久国产| 亚洲国产精品大全| 丁香婷婷综合色啪| silk一区二区三区精品视频| jizz欧美大全| 91黄色精品| 精品国产一区二区三区四区四| 美女视频网站黄色亚洲| 91精品国产综合久久久蜜臀图片| 精品无码久久久久久久动漫| 午夜电影福利网| 欧美xxxx18国产| 红桃av永久久久| 老鸭窝亚洲一区二区三区| 丰满的护士2在线观看高清| 2018国产在线| 亚洲999一在线观看www| 91精品黄色片免费大全| 91论坛在线播放| 欧美体内she精视频在线观看| 精品美女在线观看视频在线观看| 影音先锋欧美资源| 全亚洲最色的网站在线观看| 欧美日韩成人一区| 国产欧美日韩精品a在线观看| 欧美日韩91| 福利一区和二区| 国产在线高清视频| 欧美日韩在线成人| 欧美日韩国产不卡在线看| 欧美亚洲国产日本| 曰本色欧美视频在线| 欧美日韩的一区二区| 国产精品毛片a∨一区二区三区| 日韩国产高清在线| 国内精品久久久久久久97牛牛| 麻豆国产精品| av免费在线观| 麻豆app在线观看| 天天看片激情网站| 成人女性文胸| av一区二区三区免费观看| 欧洲精品国产| 欧美精品一区二区三区在线四季 | 国产精品自拍三区| 黄色精品网站| 国产精品99久久久久久动医院| 国产精品久av福利在线观看| 日韩亚洲国产免费| 国产白丝在线观看| 超碰在线最新| 亚洲男人av| 欧美成人h版| 日本欧美一区| av日韩久久| 久久婷婷国产| 精品美女久久久| 免费一区二区三区视频导航| 欧洲grand老妇人| 四虎8848精品成人免费网站| 日韩精品诱惑一区?区三区| 欧美一区三区| 久久一区中文字幕| 国产精品一区二区久激情瑜伽| 蜜桃久久精品一区二区| 国产美女av一区二区三区| 成人sese在线| 中文字幕免费不卡| 狠狠综合久久av一区二区小说| 日本道免费精品一区二区三区| 欧美一区三区四区| 亚洲精品xxx| 欧美精品久久久久久久免费观看| 清纯唯美亚洲综合| 欧美极品一区二区| 亚洲精品高清无码视频| 嫩草研究院在线| 日韩欧美精品一区二区综合视频| 西野翔中文久久精品国产| 中文一区二区| 26uuu久久综合| 欧美日韩一二三四五区| 亚洲国产精品成人精品| 孩xxxx性bbbb欧美| 欧美不卡福利| 国外av网站| 99只有精品| 久久久精品网| 午夜电影一区二区| 中文字幕日韩综合av| 97超碰人人模人人爽人人看| 9久久9毛片又大又硬又粗| 中文在线三区| 国产精品亚洲欧美一级在线| 亚洲看片一区| 午夜精品久久久久久久99水蜜桃| 首页国产精品| 午夜国产一区二区三区| 午夜免费福利小电影| 日韩在线免费播放| 国产精品任我爽爆在线播放| 久久97超碰色| 色妞www精品视频| 国产精品va在线| 日韩人妻精品无码一区二区三区| 黄色污污视频在线观看| 999精品色在线播放| 中文字幕亚洲一区二区va在线| 亚洲精品资源美女情侣酒店| 日韩电影在线播放| 国产美女高潮在线观看| 麻豆国产一区二区| 日韩精品免费一线在线观看|