godblesswxt 2020-04-25 10:24 采纳率: 100%
浏览 734
已采纳

求助: Docker 运行 autoware, roscore、runtime_manager可启动但无法访问容器内文件

参考https://www.jianshu.com/p/367189d503da
https://www.jianshu.com/p/daa9f634589e
两篇文章,在docker下安装了autoware
并在宿主机下载了rosbag文件,建立共享后启动镜像,在容器中通过命令行可以看到共享的文件。
运行autoware 启动脚本 可建立roscore、runtime_manager但无法访问共享的文件。是ros节点磁盘访问权限的问题吗?求助

使用下面脚本启动的镜像

> #!/bin/sh
> 
> XSOCK=/tmp/.X11-unix
> XAUTH=/home/$USER/.Xauthority
> SHARED_DIR=/home/autoware/shared_dir # 容器共享文件夹
> HOST_DIR=/home/$USER/autoware/shared_dir # 宿主机共享文件夹
> 
> nvidia-docker run \
>     -it --rm \
>     --volume=$XSOCK:$XSOCK:rw \
>     --volume=$XAUTH:$XAUTH:rw \
>     --volume=$HOST_DIR:$SHARED_DIR:rw \
>     --env="XAUTHORITY=${XAUTH}" \
>     --env="DISPLAY=${DISPLAY}" \
>     -u autoware \
>     --privileged -v /dev/bus/usb:/dev/bus/usb \
>     --net=host \
>     autoware/autoware:1.7.0-kinetic

启动后宿主和容器的文件夹截图
图片说明

可以看到文件夹内容相同,共享成功。

使用下面脚本启动autoware

> # boot ros-master
> ${TERMINAL} ${MASTER_DISPLAY_OPTION} ${OPTION_WORKING_DIR}=${MY_PATH} ${OPTION_COMMAND}="bash -c 'source ./devel/setup.bash; roscore'"&
> 
> # boot runtime_manager
> ${TERMINAL} ${RUNMGR_DISPLAY_OPTION} ${OPTION_WORKING_DIR}=${MY_PATH} ${OPTION_COMMAND}="bash -c 'source ./devel/setup.bash; rosrun runtime_manager runtime_manager_dialog.py'"

下图是启动后通过roscore终端访问文件的结果
图片说明

可以看到,没有找到文件

下图是runtime_manager图形界面访问文件的结果
图片说明

图中shared_dir文件夹是空的,没有文件

  • 写回答

1条回答 默认 最新

  • macalzheng 2020-04-25 22:36
    关注

    nvidia-docker run \
    -it --rm \
    -v $XSOCK:$XSOCK \
    -v $XAUTH:$XAUTH \
    -v $HOST_DIR:$SHARED_DIR \
    --env="XAUTHORITY=${XAUTH}" \
    --env="DISPLAY=${DISPLAY}" \
    -u autoware \
    --privileged -v /dev/bus/usb:/dev/bus/usb \
    --net=host \
    autoware/autoware:1.7.0-kinetic

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
  • ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
  • ¥15 husky+kinova jaco2 仿真
  • ¥15 MATLAB数据处理
  • ¥15 zigbee终端设备入网失败
  • ¥15 金融监管系统怎么对7+4机构进行监管的
  • ¥15 硬件IIC从模式的数据发送,中断数据的接收,不能用HAL库(按照时序图)
  • ¥20 QAxWidget上显示一个word文档后,如何直接在该QAxWidget上修改和保存word文档
  • ¥15 Simulink仿真报错,请问如何解决