参考1
步骤参考
参考
windows下安装docker参考这里
首先拉取docker官方提供的ros的镜像,在cmd+R中哈
拉取镜像: docker pull osrf/ros:melodic-desktop-full
拉取并运行: docker run -it -p 6000:22 -p 6001:8080 --name=base-ros-melodic osrf/ros:melodic-desktop-full /bin/bash
成功后可在docker可视化窗口看到如下
第二步 通过Dockerfile 以官方镜像配置自己的ros镜像,新建一个 Dockerfile 文件后写入下面的
FROM osrf/ros:melodic-desktop-full
# nvidia-container-runtime
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics
然后在当前这个保存着Dockerfile文件的目录,下 Shift + 右键 打开 windows PowerShell 窗口
在通过dockerfile复制镜像的时候,也可通过如下写法,在复制时安装对应的依赖文件,建议在之后打开的容器的命令行中手动安装
RUN apt-get update && \
apt-get install -y \
build-essential \
libgl1-mesa-dev \
libglew-dev \
libsdl2-dev \
libsdl2-image-dev \
libglm-dev \
libfreetype6-dev \
libglfw3-dev \
libglfw3 \
libglu1-mesa-dev \
freeglut3-dev \
vim
然后输入下面这条语句,通过官方ros镜像为基础生成你自己的镜像文件,注意末尾是空格后的点!
docker build -t rocker .
运行完成后,可在docker可视化界面上看到生成的镜像文件如下
第三步,根据生成的镜像文件创建docker容器,运行如下命令, --name后面就是生成的镜像的名字,也可换成 镜像id ,成功运行后就可以进入容器了
docker run -it --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix --env="DISPLAY=$DISPLAY" --name=rocker osrf/ros:melodic-desktop-full /bin/bash
第四步,通过命令行进入创建的docker容器(注意:通过docker视窗窗口那个CLI按钮进入打不开ros!)
win+R键打开windows命令行,然后输入
docker attach rocker
第五步,运行sh文件,运行上图绿色字体显示的 sh文件,自动配置ros环境
./ros_entrypoint.sh
最后,输入roscore来测试是否成功激活ros,如下就是成功了的
roscore