跳到正文

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