https://docs.docker.com/engine/install/ubuntu/,按照官网命令一步步来即可。
添加当前用户到docker
用户组,后面运行docker的时候前面不需要加sudo
命令:https://www.cnblogs.com/fireblackman/p/16054371.html
查看自己当前有哪些docker镜像:
sudo docker images
https://www.zhihu.com/tardis/bd/art/552273212?source_id=1001,这个是ubuntu20的环境,而自己想用的是ubuntu18的环境,所以有些地方稍微有点不一样。
https://www.jianshu.com/p/858df734171f,这个是上面那个博客的参考博客。
拉取环境:
docker pull tiryoh/ros-melodic-desktop
进入docker,并运行roscore测试
docker run -it tiryoh/ros-melodic-desktop bash
roscore
在宿主机内打开xhost:
xhost +
如果成功打开,会显示:
access control disabled, clients can connect from any host
准备运行rviz测试,先关闭上面的docker,重新打开测试
docker run -it \
--env="DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
tiryoh/ros-melodic-desktop \
/bin/bash
进入docker后,运行运行roscore
roscore
宿主机新开终端,再次进入docker,并运行turtlesim节点
①先查看之前新建的容器名称
docker ps --all
②进入容器中
docker exec -it
③运行turtlesim_node
source /opt/ros/kinetic/setup.bash
rosrun turtlesim turtlesim_node
sudo xhost +local:
sudo docker run -it --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix --env=“DISPLAY=$DISPLAY” --name=rocker tiryoh/ros-melodic-desktop /bin/bash
docker pull tiryoh/ros-desktop-vnc
docker pull paopaorobot/ros-vnc:melodic
sudo docker run -it -v /mnt/F/workbag:/data --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix --env="DISPLAY=$DISPLAY" --env="QT_X11_NO_MITSHM=1" tiryoh/ros-melodic-desktop /bin/bash
删除所有退出的容器(不是镜像)
docker container prune
docker删除单个容器
docker rm CONTAINER_ID
首次从镜像生成容器,并且挂载目录,设置通信
(注意这里不需要挂载目录,因为自己把docker设置好之后,就可以打包了)
sudo docker run -it -v /home/cc/docker_catkin_ws:/home/docker_catkin_ws --net=host tiryoh/ros-melodic-desktop /bin/bash
Docker通过shell命令获取容器Id并把结果赋值给变量
开启之前存在的容器(不是镜像)
docker start CONTAINER_ID
然后进入容器
docker exec -it CONTAINER_ID /bin/bash
设置进入容器的用户身份、进入之后的路径:
进入docker容器的默认目录怎么指定
docker:指定root用户进入容器
使用tmux:使用tmux进入docker容器
可视化界面设置
https://blog.csdn.net/u013013023/article/details/111475817
docker pull tiryoh/ros-desktop-vnc:noetic
https://github.com/NotGlop/docker-drag
docker load -i xxx.tar
sudo docker run -it -v /home/cc/docker_catkin_ws:/home/docker_catkin_ws --net=host tiryoh/ros-melodic-desktop /bin/bash
sudo docker run -p 6080:80 -v /home/cc/docker_catkin_ws:/home/docker_catkin_ws --net=host --shm-size=512m tiryoh/ros-desktop-vnc:noetic
sudo docker run -p 6080:80 -v /home/cc/docker_catkin_ws:/home/docker_catkin_ws --shm-size=512m tiryoh/ros-desktop-vnc:melodic
# 1.先停止所有容器
docker container prune
# 2.删除镜像
docker rmi 镜像名
参考:如何可视化docker:以ROS环境为例(例如Gazebo,Rviz)
参考:在 Ubuntu 中如何将用户添加到 Sudoers
首先找到一个具有sudo
权限的用户,然后执行如下命令把要添加的普通用户xxx
加入sudo
用户组:
sudo usermod -aG sudo xxx
注意此时如果之前已经登陆了xxx
这个用户的话,需要退出重新登录才能有sudo
权限。使用sudo whoami
命令测试,如果输出是root
,则说明此时已经有了sudo
权限。