用docker搭建slam开发环境
·
拉基础镜像
docker pull osrf/ros:noetic-desktop-full
新建dockerfile
FROM osrf/ros:noetic-desktop-full
RUN apt-get update \
&& apt-get install -y build-essential git cmake-curses-gui net-tools vim libgoogle-glog-dev libgflags-dev libsuitesparse-dev libatlas-base-dev pcl-tools htop \
# libgeographic-dev \
libceres-dev \
&& apt-get install -y software-properties-common \
&& add-apt-repository -y ppa:borglab/gtsam-release-4.0 \
&& apt-get update \
&& apt-get install -y libgtsam-dev libgtsam-unstable-dev \
&& rm -rf /var/lib/apt/lists/*
SHELL ["/bin/bash", "-c"]
RUN cd / \
&& git clone https://github.com/geographiclib/geographiclib.git \
&& cd geographiclib \
&& cmake . \
&& make -j4 \
&& make install \
&& rm -rf /geographiclib
# 新建非root用户,且进入容器后,不需要sudo即可安装软件,贼好用,
# 参考 https://stackoverflow.com/a/72780601
RUN useradd -m -s /bin/bash xiaoming
RUN usermod -aG sudo xiaoming && echo "udeer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/xiaoming
USER xiaoming:xiaoming
WORKDIR /home/xiaoming
编译docker
docker build -t dev_ubuntu2004:v1 -f Dockerfile_ubuntu2004 .
启动docker
docker run -it \
-v /home/xxx/data:/data \
-v /home/xxx/catkin_ws:/catkin_ws \
--device=/dev/dri \
--group-add video \
--volume=/tmp/.X11-unix:/tmp/.X11-unix \
--env="DISPLAY=$DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--name=dev_ubuntu2004 \
dev_ubuntu2004:v1 \
/bin/bash
去除编译过程中产生的none镜像
去除前

去除指令参考 https://cloud.tencent.com/developer/article/1540703
docker rmi `docker image ls -f dangling=true -q`
去除none后

更多推荐



所有评论(0)