跳到正文

Wiki

各種Docker容器部署

約 5 分鐘閱讀

本文由簡體中文內容確定性轉換,並受版本化術語表保護。

可以跳過此節 此節就是教你拉取一些dockerhub上已經構建好的鏡像

1.部署容器步驟

先從dockerhub拉取(docker pull)鏡像,然後再通過docker run命令創建容器即可。(直接運行docker run命令也行,這會自己尋找本地鏡像並創建,如果本地沒有則會自動去dockerhub上尋找鏡像並拉取創建容器一條龍服務。)

下面是各大容器拉取的命令(均支持amd64和arm64架構):

2.各大容器拉取

2.1.Vinci機械人隊暫時主使用的docker版本

(該版本暫未構建上傳到dockerhub,但是tungchiahui/ros-opencv:humble-411-cuda128-cudnn970-jammy已經實現了下列説的全部了)

https://hub.docker.com/repositories/sdutvincirobot

https://github.com/SDUTVINCI/docker

使用以下帶有CUDA和CuDNN的Docker必須滿足的條件:

  1. 有英偉達NVIDIA獨立顯卡

  2. 顯卡驅動必須滿足≥570.86.10

  3. 設備的架構必須為amd64(x86_64)架構或者aarch64(arm64)架構。(絕大多數設備均滿足)

  4. 支持的顯卡型號如下:

    1. GTX10系列桌面端、移動端顯卡均已支持

    2. RTX20-RTX50系列桌面端、移動端顯卡均已支持

    3. NVIDIA Jetson AGX Orin、NVIDIA Jetson Orin NX、NVIDIA Jetson Orin Nano工控機已支持

    4. NVIDIA Jetson AGX Xavier、NVIDIA Jetson Xavier NX工控機已支持

    5. 其他顯卡均未適配,強行使用其他顯卡肯定會有不兼容的問題,如果想要適配你的顯卡型號,請單獨聯繫學長

該鏡像包含的內容:

  1. Ubuntu22.04

  2. ROS2 Humble

  3. OpenCV4.11

  4. CUDA12.8

  5. CuDNN9.7.0

  6. cv_bridge(amd64支持,但arm64暫時沒構建,請自行構建)

  7. Livox-SDK2

  8. (但無Livox-ROS-Driver2,自己在ws下編譯吧)

請電控組成員在組長的允許下,變更該docker鏡像內容,dockerfile和鏡像均上傳到github及dockerhub上了。

  1. 從dockerhub上拉取鏡像
docker pull sdutvincirobot/ros-opencv:humble-411

2.2.ROS+OpenCV純CPU版本

https://hub.docker.com/repository/docker/tungchiahui/ros

https://github.com/tungchiahui/ros-docker/blob/main/README-zh_CN.md

  1. 從dockerhub上拉取鏡像

暫時主要維護ROS Humble的版本,其他版本隨緣更新,但也基本都是非常夠用的狀態(隨着戰隊主要使用的版本而變化)

docker pull tungchiahui/ros:noetic-focal

docker pull tungchiahui/ros:humble-jammy

docker pull tungchiahui/ros:jazzy-noble

2.3.(無ROS)OpenCV4.11+CUDA12.8+CuDNN9.7.0

https://hub.docker.com/repository/docker/tungchiahui/opencv

https://github.com/tungchiahui/ros-docker/blob/main/README-zh_CN.md

OpenCV4.11+CUDA12.8+CuDNN9.7.0:

(因為50系顯卡最低要跑CUDA12.8,所以拉高門檻)

https://pcnveplwrxf8.feishu.cn/sync/HtRPdZxPHsfwnwbXDsjcBfVcnah

暫時主要維護Ubuntu Jammy的版本,其他版本隨緣更新,但也基本都是非常夠用的狀態(隨着戰隊主要使用的版本而變化)

docker pull tungchiahui/opencv:411-cuda128-cudnn970-focal

docker pull tungchiahui/opencv:411-cuda128-cudnn971-jammy

docker pull tungchiahui/opencv:411-cuda128-cudnn971-noble

2.4.ROS+OpenCV4.11+CUDA12.8+CuDNN9.7.0

https://hub.docker.com/repository/docker/tungchiahui/ros-opencv/general

https://github.com/tungchiahui/ros-docker/blob/main/README-zh_CN.md

  1. 拉取鏡像:

      ROS+OpenCV4.11+CUDA12.8+CuDNN9.7.0:

      (因為50系顯卡最低要跑CUDA12.8,所以拉高門檻)

    使用以下帶有CUDA和CuDNN的Docker必須滿足的條件:

    1. 有英偉達NVIDIA獨立顯卡

    2. 顯卡驅動必須滿足≥570.86.10

    3. 設備的架構必須為amd64(x86_64)架構或者aarch64(arm64)架構。(絕大多數設備均滿足)

    4. cv_bridge(amd64支持,但arm64暫時沒構建,請自行構建)

    5. 支持的顯卡型號如下:

      1. GTX10系列桌面端、移動端顯卡均已支持

      2. RTX20-RTX50系列桌面端、移動端顯卡均已支持

      3. NVIDIA Jetson AGX Orin、NVIDIA Jetson Orin NX、NVIDIA Jetson Orin Nano工控機已支持

      4. NVIDIA Jetson AGX Xavier、NVIDIA Jetson Xavier NX工控機已支持

      5. 其他顯卡均未適配,強行使用其他顯卡肯定會有不兼容的問題,如果想要適配你的顯卡型號,請單獨聯繫學長

      暫時主要維護ROS Humble的版本,其他版本隨緣更新,但也基本都是非常夠用的狀態隨着戰隊主要使用的版本而變化)

docker pull tungchiahui/ros-opencv:noetic-411-cuda128-cudnn970-focal

docker pull tungchiahui/ros-opencv:humble-411-cuda128-cudnn970-jammy

docker pull tungchiahui/ros-opencv:jazzy-411-cuda128-cudnn971-noble