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

求助: 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

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

报告相同问题?

悬赏问题

  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题