最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于VS Code的Docker調(diào)試環(huán)境搭建過(guò)程

 更新時(shí)間:2026年02月09日 09:34:40   作者:ergevv  
本文詳細(xì)介紹了如何在VSCode中配置和使用Docker容器進(jìn)行Autoware項(xiàng)目的開(kāi)發(fā)調(diào)試,通過(guò)安裝Docker和VSCode插件,配置開(kāi)發(fā)容器,掛載本地目錄,以及使用colcon編譯項(xiàng)目,使得開(kāi)發(fā)環(huán)境更加高效和一致

本文以 Autoware 項(xiàng)目為例,詳細(xì)介紹如何在 VS Code 中配置和使用 Docker 容器進(jìn)行開(kāi)發(fā)調(diào)試。

一、Docker 安裝與配置

1. 通過(guò)官方倉(cāng)庫(kù)安裝 Docker

按照以下步驟通過(guò)官方 APT 倉(cāng)庫(kù)安裝 Docker 引擎:

# 1. 更新apt包索引
sudo apt update

# 2. 安裝必要的依賴(lài)包,用于添加HTTPS倉(cāng)庫(kù)支持
sudo apt install -y ca-certificates curl gnupg lsb-release

# 3. 添加Docker官方GPG密鑰以確保下載安全
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 4. 設(shè)置Docker穩(wěn)定版?zhèn)}庫(kù)源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. 再次更新apt包索引以包含新添加的倉(cāng)庫(kù)
sudo apt update

# 6. 安裝Docker引擎及相關(guān)組件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2. 配置免 sudo 權(quán)限運(yùn)行 Docker

默認(rèn)情況下,執(zhí)行docker命令需要管理員權(quán)限。為提高便利性,可以將當(dāng)前用戶(hù)添加到docker用戶(hù)組中:

# 創(chuàng)建docker用戶(hù)組(如果尚未創(chuàng)建)
sudo groupadd docker

# 將當(dāng)前用戶(hù)添加到docker組
sudo usermod -aG docker $USER

# 應(yīng)用組更改(無(wú)需重新登錄)
newgrp docker

驗(yàn)證配置是否成功:

docker run hello-world  # 應(yīng)該能夠無(wú)需sudo直接運(yùn)行

安全提醒:將用戶(hù)添加到docker組相當(dāng)于授予其 root 權(quán)限,因?yàn)?Docker 容器可以訪問(wèn)宿主機(jī)的所有資源。請(qǐng)?jiān)诎踩煽氐沫h(huán)境中使用此配置。

3. 獲取基礎(chǔ)鏡像

從 GitHub Container Registry 拉取 Autoware 開(kāi)發(fā)環(huán)境鏡像:

docker pull ghcr.io/autowarefoundation/autoware:universe-devel-20250903-amd64

二、VS Code 開(kāi)發(fā)環(huán)境配置

1. 安裝必要插件

在 VS Code 擴(kuò)展市場(chǎng)中搜索并安裝Dev Containers插件,該插件提供了容器化開(kāi)發(fā)環(huán)境的支持。

2. 創(chuàng)建開(kāi)發(fā)容器配置文件

步驟 1:準(zhǔn)備項(xiàng)目目錄結(jié)構(gòu)

假設(shè)您的工作目錄為:

~/work/autoware

在此目錄下創(chuàng)建 Dev Container 配置目錄:

cd ~/work/autoware
mkdir .devcontainer
步驟 2:配置devcontainer.json文件

Dev Containers插件會(huì)自動(dòng)讀取項(xiàng)目根目錄下的.devcontainer/devcontainer.json文件來(lái)啟動(dòng)和配置開(kāi)發(fā)容器?;谝严螺d的鏡像,創(chuàng)建配置文件并添加以下內(nèi)容:

{
  "name": "Autoware Universe Dev",
  "image": "ghcr.io/autowarefoundation/autoware:universe-devel-20250903-amd64",

  // 設(shè)置容器內(nèi)的工作目錄
  "workspaceFolder": "/home/developer/autoware",

  // 端口轉(zhuǎn)發(fā)配置,用于支持可視化工具和服務(wù)訪問(wèn)
  "forwardPorts": [8080, 9090, 50051],

  // 目錄掛載配置,實(shí)現(xiàn)本地與容器間文件同步
  "mounts": [
    {
      "type": "bind",
      "source": "${localWorkspaceFolder}",
      "target": "/home/developer/autoware"
    }
  ],

  // 容器創(chuàng)建后的初始化命令(可選)
  //   "postCreateCommand": "source /opt/ros/humble/setup.bash && cd /home/developer/autoware && echo 'Dev container ready!'",

  // 推薦的VS Code擴(kuò)展配置
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-vscode.cpptools-extension-pack",
        "ms-vscode.cmake-tools",
        "ms-python.python",
        "ms-python.debugpy",
        "ms-python.vscode-python-envs",
        "Ranch-Hand-Robotics.rde-pack"
      ],
      "settings": {
        "terminal.integrated.defaultProfile.linux": "bash"
      }
    }
  },

  // 容器運(yùn)行參數(shù)配置
  "runArgs": [
    "--privileged", // 特權(quán)模式,用于訪問(wèn)GPU、串口等硬件設(shè)備
    "-e",
    "DISPLAY=${env:DISPLAY}",
    "--volume=/tmp/.X11-unix:/tmp/.X11-unix:rw"
  ],
  "postCreateCommand": "xhost +local:root"  // 允許容器內(nèi)的 GUI 應(yīng)用訪問(wèn)主機(jī)的 X Server
}

配置項(xiàng)說(shuō)明

  • image: 指定使用的 Docker 鏡像
  • workspaceFolder: 定義容器中的工作目錄路徑
  • mounts: 配置本地目錄與容器目錄的綁定掛載
  • forwardPorts: 指定需要轉(zhuǎn)發(fā)的端口號(hào),便于訪問(wèn)容器內(nèi)服務(wù)
  • extensions: 推薦安裝的開(kāi)發(fā)擴(kuò)展列表,可以通過(guò)在側(cè)邊欄的擴(kuò)展里面對(duì)著想要添加的插件右鍵并點(diǎn)擊添加到devcontainer.json。
  • runArgs: 容器運(yùn)行時(shí)的附加參數(shù)

3. 啟動(dòng)開(kāi)發(fā)容器

  1. 在 VS Code 中打開(kāi)項(xiàng)目目錄
  2. 點(diǎn)擊左下角的綠色遠(yuǎn)程連接圖標(biāo)(或使用快捷鍵Ctrl+Shift+P
  3. 在命令面板中輸入并選擇:Dev Containers: Reopen in Container(中文:在容器中重新打開(kāi)

VS Code 將執(zhí)行以下操作:

  • 基于指定鏡像啟動(dòng)容器
  • 掛載配置的本地目錄
  • 自動(dòng)安裝推薦的擴(kuò)展插件

4、允許 root 用戶(hù)使用X11

docker可視化是需要使用X11轉(zhuǎn)發(fā)的,他同時(shí)是屬于root用戶(hù)的,需要賦予權(quán)限。

xhost +local:root

三、項(xiàng)目開(kāi)發(fā)與編譯調(diào)試

完成上述配置后,您就已經(jīng)進(jìn)入了一個(gè)完整的 Docker 開(kāi)發(fā)環(huán)境?,F(xiàn)在可以像在原生 Linux 系統(tǒng)中一樣進(jìn)行開(kāi)發(fā)工作。由于我們已將~/work/autoware目錄掛載到容器內(nèi),因此可以在容器內(nèi)外同步訪問(wèn)項(xiàng)目文件。

1. 克隆項(xiàng)目源碼

在容器終端中執(zhí)行以下命令獲取 Autoware 源代碼(也可以在宿主機(jī)掛載的~/work/autoware目錄下載數(shù)據(jù)):

git clone https://github.com/autowarefoundation/autoware.git
cd autoware
mkdir src
vcs import src < autoware.repos

2. 更新系統(tǒng)環(huán)境并安裝依賴(lài)

確保開(kāi)發(fā)環(huán)境處于最新?tīng)顟B(tài)并安裝所有必要的依賴(lài)項(xiàng):

sudo apt update && sudo apt upgrade
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

3. 編譯項(xiàng)目

使用colcon工具編譯整個(gè) Autoware 項(xiàng)目:

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

通過(guò)以上配置,您就可以在 VS Code 中享受容器化開(kāi)發(fā)帶來(lái)的環(huán)境隔離和一致性?xún)?yōu)勢(shì),同時(shí)保持與本地開(kāi)發(fā)環(huán)境的無(wú)縫集成。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解復(fù)制備份docker容器數(shù)據(jù)的方法

    詳解復(fù)制備份docker容器數(shù)據(jù)的方法

    這篇文章主要介紹了詳解復(fù)制備份docker容器數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • docker-compose安裝及執(zhí)行命令

    docker-compose安裝及執(zhí)行命令

    Docker Compose是一個(gè)用來(lái)定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具,這篇文章主要介紹了docker-compose安裝方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Docker容器使用jenkins部署web項(xiàng)目(總結(jié))

    Docker容器使用jenkins部署web項(xiàng)目(總結(jié))

    這篇文章主要介紹了Docker容器使用jenkins部署web項(xiàng)目(總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Docker的安裝過(guò)程以及服務(wù)器與客戶(hù)端之間的通信

    Docker的安裝過(guò)程以及服務(wù)器與客戶(hù)端之間的通信

    文章簡(jiǎn)要介紹了在Ubuntu24.04系統(tǒng)上安裝Docker的流程,包括修改apt源、安裝服務(wù)端與客戶(hù)端、配置鏡像目錄、端口通信及SSH連接,最終實(shí)現(xiàn)客戶(hù)端與服務(wù)端的成功通信驗(yàn)證
    2025-08-08
  • Docker?部署?Grafana持久化存儲(chǔ)配置避免重啟丟失的問(wèn)題

    Docker?部署?Grafana持久化存儲(chǔ)配置避免重啟丟失的問(wèn)題

    文章介紹了將宿主機(jī)目錄掛載到容器的/var/lib/grafana路徑,以實(shí)現(xiàn)Grafana數(shù)據(jù)的持久化,詳細(xì)描述了在Docker和Docker Compose環(huán)境中實(shí)現(xiàn)這一方案的步驟,包括創(chuàng)建目錄、修正文件權(quán)限、啟動(dòng)容器等,同時(shí),文章還列舉了一些常見(jiàn)問(wèn)題及排查方法
    2026-05-05
  • Docker-compose部署gitlab的方法步驟

    Docker-compose部署gitlab的方法步驟

    這篇文章主要介紹了Docker-compose部署gitlab的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • docker構(gòu)建并啟動(dòng)前端完整流程

    docker構(gòu)建并啟動(dòng)前端完整流程

    使用?Docker?部署前端項(xiàng)目是一種高效且可靠的方法,可以確保項(xiàng)目在不同環(huán)境中的一致性,這篇文章主要介紹了docker構(gòu)建并啟動(dòng)前端的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-07-07
  • 使用Docker?Compose搭建部署ElasticSearch的配置過(guò)程

    使用Docker?Compose搭建部署ElasticSearch的配置過(guò)程

    Elasticsearch使用的是一種名為倒排索引的數(shù)據(jù)結(jié)構(gòu),這一結(jié)構(gòu)的設(shè)計(jì)可以允許十分快速地進(jìn)行全文本搜索,本文重點(diǎn)給大家介紹使用Docker?Compose搭建部署ElasticSearch的配置過(guò)程,感興趣的朋友一起看看吧
    2022-02-02
  • Docker 鏡像調(diào)試的最佳實(shí)踐

    Docker 鏡像調(diào)試的最佳實(shí)踐

    本文主要介紹了Docker 鏡像調(diào)試的最佳實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • 詳解docker部署Jenkins新手使用教程

    詳解docker部署Jenkins新手使用教程

    這篇文章主要介紹了詳解docker部署Jenkins新手使用教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論

保德县| 沙洋县| 辉南县| 新河县| 甘谷县| 丹江口市| 台南市| 永济市| 溆浦县| 锦屏县| 阜南县| 高雄市| 阿拉尔市| 固阳县| 鄱阳县| 兴安县| 资中县| 台江县| 广河县| 景谷| 德清县| 六安市| 青龙| 汾西县| 大足县| 正安县| 横峰县| 乾安县| 乐至县| 车险| 克拉玛依市| 巴林左旗| 高淳县| 崇义县| 武穴市| 紫云| 奉节县| 大庆市| 民和| 连城县| 梓潼县|