- 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
这是一个在 Docker 中运行机器学习应用程序的命令,该命令将该应用程序作为 Docker 镜像运行,并使用 NVIDIA GPU 进行加速。
具体来说,该命令的各个参数含义如下:
sudo
: 以管理员权限运行该命令。docker run
: 运行 Docker 容器的命令。-d
: 让容器在后台运行。--privileged=true
: 以特权模式运行容器,可以访问主机的所有设备。--runtime=nvidia
: 指定容器使用 NVIDIA GPU 运行。--gpus=all
: 将所有可用的 GPU 分配给容器。--net=host
: 使用主机网络模式,容器与主机共享网络栈。--ipc=host
: 使用主机 IPC(Inter-Process Communication)命名空间,容器与主机共享 IPC。--restart=always
: 容器停止后自动重启。-v /dev:/dev
: 将主机的 /dev
目录挂载到容器的 /dev
目录中,以便容器可以访问主机的设备。-v /data/autocar:/home/mogo/data
: 将主机的 /data/autocar
目录挂载到容器的 /home/mogo/data
目录中,以便容器可以访问主机的数据。--name map_test
: 给容器指定一个名称为 map_test
。mogohub.tencentcloudcr.com/autocar-ros2/df:mystart_RoboTaxi_df_1.0.0.30_ros2_20230524_dev
: 指定要运行的 Docker 镜像名称和版本号。综上所述,该命令的作用是以特权模式运行一个 Docker 容器,使用 NVIDIA GPU 进行加速,让容器与主机共享网络和 IPC 命名空间以及主机设备和数据,以便运行该镜像中包含的机器学习应用程序。
- sudo docker pull mogohub.tencentcloudcr.com/autocar
- /system-redis:system-redis_CDXTJG_Default_1.0.0.2_6_
- log_20230329_dev
该命令的作用是从指定的 Docker 镜像仓库中拉取一个名为 mogohub.tencentcloudcr.com/autocar/system-redis
,版本号为 system-redis_CDXTJG_Default_1.0.0.2_6_log_20230329_dev
的 Docker 镜像。拉取镜像后,可以使用 docker run
命令来启动该镜像中包含的应用程序或服务。
配置修改:
1. /opt/ros/humble/etc/redis_conn_conf.json autocar镜像里面ip改为虚拟机ip。坑点:记得同步改/run.sh 里面的ip,否则restart容器后发现配置被还原了。然后重启autocar镜像即可
2. redis镜像里面执行:执行这个命令(docker里面默认没有安装vim等编辑软件)echo -e '#!/bin/bash\nredis-server /etc/redis/redis.conf' > /run.sh(默认是实车上,有实车ip判断)去掉判断行。重启redis镜像