Pasos completos para implementar la imagen acoplable ROS2 en el entorno ubuntu18.04

  • sudo docker run -d --privileged=true --runtime=nvidia 
    --gpus=all --net=host --ipc=host --restart=always -v 
    /dev:/dev -v /data/autocar:/home/mogo/data --name 
    map_test mogohub.tencentcloudcr.com/autocar-ros2/df:mystart_RoboTaxi_df_1.0.0.30_ros2_202
    30524_dev

        Este es un comando para ejecutar una aplicación de aprendizaje automático en Docker, que ejecuta la aplicación como una imagen de Docker, acelerada con GPU NVIDIA.

        Específicamente, los significados de los parámetros de este comando son los siguientes:

  • sudo: Ejecute el comando con privilegios de administrador.
  • docker run: un comando para ejecutar un contenedor Docker.
  • -d: Deje que el contenedor se ejecute en segundo plano.
  • --privileged=true: Ejecute el contenedor en modo privilegiado, con acceso a todos los dispositivos del host.
  • --runtime=nvidia: especifica que el contenedor se ejecuta en una GPU NVIDIA.
  • --gpus=all: asigne todas las GPU disponibles al contenedor.
  • --net=host: Usando el modo de red de host, el contenedor comparte la pila de red con el host.
  • --ipc=host: utilizando el espacio de nombres IPC (Comunicación entre procesos) del host, el contenedor comparte IPC con el host.
  • --restart=always: reinicia automáticamente el contenedor después de que se detiene.
  • -v /dev:/dev: monte el directorio del host  /dev en el directorio del contenedor  /dev para que el contenedor pueda acceder a los dispositivos del host.
  • -v /data/autocar:/home/mogo/data: monte el directorio del host  /data/autocar en el directorio del contenedor  /home/mogo/data para que el contenedor pueda acceder a los datos del host.
  • --name map_test: asigne al contenedor un nombre de  map_test.
  • mogohub.tencentcloudcr.com/autocar-ros2/df:mystart_RoboTaxi_df_1.0.0.30_ros2_20230524_dev: especifica el nombre de la imagen de Docker y el número de versión para ejecutar.

        En resumen, la función de este comando es ejecutar un contenedor Docker en modo privilegiado, usar GPU NVIDIA para la aceleración y permitir que el contenedor comparta la red y el espacio de nombres IPC con el host, así como el dispositivo host y los datos, en orden. para ejecutar la aplicación de aprendizaje automático contenida en el programa de imagen.

  • sudo docker pull mogohub.tencentcloudcr.com/autocar
    /system-redis:system-redis_CDXTJG_Default_1.0.0.2_6_
    log_20230329_dev

 La función de este comando es extraer una imagen de Docker con el nombre mogohub.tencentcloudcr.com/autocar/system-redisy el número de versión        del almacén de imágenes de Docker especificado  . system-redis_CDXTJG_Default_1.0.0.2_6_log_20230329_devDespués de extraer una imagen,  docker run se pueden usar comandos para iniciar aplicaciones o servicios contenidos en esa imagen.

  • mkdir -p /data/autocar/log/redis

  • sudo docker run -d --privileged --network host -v /data/autocar/log/redis:/var/log/redis:rw --restart=always --name redis redis镜像名

Modificación de configuración:

1. Cambie la ip en /opt/ros/humble/etc/redis_conn_conf.json autocar image a la ip de la máquina virtual. Punto crítico: recuerde cambiar la ip en /run.sh sincrónicamente, de lo contrario, la configuración se restaurará después de reiniciar el contenedor. Luego reinicie la imagen del autocar

2. Ejecutar en la imagen de redis: Ejecute este comando (vim y otro software de edición no están instalados de forma predeterminada en la ventana acoplable) echo -e '#!/bin/bash\nredis-server /etc/redis/redis.conf' > / run.sh (el valor predeterminado es el automóvil real, hay un juicio de ip de automóvil real) elimine la línea de juicio. Reinicie el espejo redis

Supongo que te gusta

Origin blog.csdn.net/John_ToStr/article/details/130877293
Recomendado
Clasificación