Skip to content

Wiki

Various Docker container deployments

About 9 min read

Existing English translations were reused. 2 current source blocks remain in Simplified Chinese, without triggering paid translation.

You can skip this section This section teaches you how to pull some images that have already been built on Docker Hub

1.Steps to deploy a container

First pull the image from Docker Hub using docker pull,and then create a container with the docker run command.(You can also just run the docker run command directly; this will look for a local image and create a container, and if the image is not available locally, it will automatically find the image on Docker Hub and pull it to create the container in one go.)

Below are the commands for pulling the major containers (all support amd64 and arm64 architectures):

2.Pull for all major containers

2.1.The Docker version currently mainly used by Team Vinci Robotics

(This version has not yet been built and uploaded to dockerhub, but tungchiahui/ros-opencv:humble-411-cuda128-cudnn970-jammy has already implemented all of the following.)

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

https://github.com/SDUTVINCI/docker

Conditions that must be met when using the following Docker with CUDA and cuDNN:

  1. Has an NVIDIA discrete graphics card

  2. The graphics card driver must satisfy ≥570.86.10

  3. The device architecture must be amd64(x86_64) architecture or aarch64(arm64) architecture. (The vast majority of devices satisfy this)

  4. The supported graphics card models are as follows:

    1. GTX 10 series desktop and mobile graphics cards are all supported

    2. RTX20-RTX50 series desktop and mobile graphics cards are all supported

    3. NVIDIA Jetson AGX Orin, NVIDIA Jetson Orin NX, and NVIDIA Jetson Orin Nano industrial PCs are supported

    4. NVIDIA Jetson AGX Xavier and NVIDIA Jetson Xavier NX industrial PCs are supported

    5. Other graphics cards are not adapted. Forcibly using other graphics cards will definitely cause incompatibility issues. If you want your graphics card model to be adapted, please contact the senior student separately

Contents of this image:

  1. Ubuntu22.04

  2. ROS2 Humble

  3. OpenCV4.11

  4. CUDA12.8

  5. CuDNN9.7.0

  6. cv_bridge (amd64 is supported, but arm64 is not built yet; please build it yourself)

  7. Livox-SDK2

  8. (but there is no Livox-ROS-Driver2; compile it yourself under ws)

请电控组成员在组长的允许下,变更该docker镜像内容,dockerfile和镜像均上传到github及dockerhub上了。

  1. Pull the image from Docker Hub
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. Pull the image from Docker Hub

Currently, we mainly maintain the ROS Humble version; other versions are updated as time permits, but they are generally in a very usable state (this changes with the version primarily used by the team).

docker pull tungchiahui/ros:noetic-focal

docker pull tungchiahui/ros:humble-jammy

docker pull tungchiahui/ros:jazzy-noble

2.3.(no 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:

(Because the 50-series graphics cards need to run at least CUDA12.8, the threshold has been raised.)

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

For now, we mainly maintain the Ubuntu Jammy version. Other versions are updated as time permits, but they are generally in a very usable state (changing with the versions primarily used by the team).

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. Pull image:

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

    (Since the 50 series GPUs require at least CUDA12.8 to run, the threshold has been raised.)

    The following conditions must be met to use the Docker with CUDA and cuDNN:

    1. Have an NVIDIA discrete GPU

    2. The GPU driver must be ≥570.86.10

    3. The device architecture must be amd64 (x86_64) or aarch64 (arm64). (Most devices meet this requirement.)

    4. cv_bridge (amd64 is supported, but arm64 has not been built yet; please build it yourself.)

    5. The supported GPU models are as follows:

      1. GTX 10 series desktop and mobile GPUs are both supported.

      2. RTX20-RTX50 series desktop and mobile GPUs are both supported.

      3. NVIDIA Jetson AGX Orin, NVIDIA Jetson Orin NX, and NVIDIA Jetson Orin Nano industrial PCs are supported.

      4. NVIDIA Jetson AGX Xavier and NVIDIA Jetson Xavier NX industrial PCs are supported.

      5. Other GPUs are not adapted; forcibly using other GPUs will definitely cause incompatibility issues. If you want your GPU model to be adapted, please contact the senior student separately.

    Currently, the ROS Humble version is mainly maintained; other versions are updated as time permits, but they are generally in a very usable state and change with the version mainly used by the team.)

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