自学内容网 自学内容网

Docker部署ROS程序

【先上干货】

1、docker安装

 curl -fsSL https://test.docker.com -o test-docker.sh
 sudo sh test-docker.sh

2、给docker一个root权限

sudo usermod -aG docker $USER

3、启动docker服务

# service 命令的用法
sudo service docker start
# systemctl 命令的用法
sudo systemctl start docker

4、下载带有ros-noetic版本的ubuntu20.04镜像

sudo docker pull osrf/ros:noetic-desktop-full

5、创建容器

docker run -it -v /home/rust/rust_files:/home/rust/rust_files --network=host --device=/dev/ttyS0 --device=/dev/ttyUSB0 --name=rust osrf/ros:noetic-desktop-full /bin/bash

6、备份容器

docker commit -a "rust" -m "origin" rust test:1.0
docker commit -a="用户名" -m="描述" 容器id或名字  打包后的镜像的名字:版本号

7、进docker后更换软件源

apt update
apt install vim
cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list
# 用以下内容替换原文件中的
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

# 保存退出
apt-get update
apt-get upgrade

PS:换源地址查询
LUG's repo file generator (ustc.edu.cn)icon-default.png?t=N7T8https://mirrors.ustc.edu.cn/repogen/8、拷贝命令

docker cp file rust:/home/

9、删除容器

docker rm -f rust

10、删除镜像

docker image rm 容器id

11、查询docker hub上的公共镜像

sudo docker search ros

12、保存镜像

docker save -o my_docker_image.tar 镜像id

13、导入镜像

#在相应的目录下加载镜像 
docker load -i my_docker_image.tar 

14、设置docker开机自启动

sudo systemctl enable docker

15、设置容器自启动

打开自启动
# docker update --restart=always 容器名或容器ID
docker update --restart=always <CONTAINER ID>

关闭自启动
# docker update --restart=no 容器名或容器ID
docker update --restart=no <CONTAINER ID>


原文地址:https://blog.csdn.net/weixin_39538031/article/details/136349498

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!