完成docker方式的ros环境配置

前提:已经成功安装docker

(一)鱼香ros一键安装docker

bash 复制代码
wget http://fishros.com/install -O fishros && . fishros

选择数字8安装docker,安装好后再输入上面的一键安装命令,按数字17选择docker代理,选择2服务模式,输入网址:

bash 复制代码
 https://docker.xuanyuan.me/

安装完成后:

bash 复制代码
docker --version #查询版本
 
sudo usermod -aG docker $USER  # 将用户 hdr 加入 docker 组
​
newgrp docker  # 立即激活组权限变更(无需重启系统)

(二)安装docker后先换源

bash 复制代码
cd /etc/docker
sudo nano daemon.json

输入国内docker hub地址

bash 复制代码
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://docker.m.daocloud.io",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://docker.nju.edu.cn"
  ]
}

修改/etc/resolv.conf

bash 复制代码
nameserver 114.114.114.114
nameserver 8.8.8.8

保存之后在终端运行命令生效修改

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

测试

bash 复制代码
docker info | grep -A1 "Registry Mirrors" #验证镜像加速器成功生效
​
docker run hello-world  # 测试非 root 权限运行容器

(三)拉取ros2镜像

bash 复制代码
docker pull ros:humble-desktop

出现错误!!网络请求超时

排查方案:

  • DNS正确
  • 使用curl测试https连接

!!网络被封锁,使用镜像源或代理

镜像源加速器配置正常,镜像源配置正常,但docker pull依旧失败。

终解决方案:

重新配置镜像源:

bash 复制代码
{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "registry-mirrors": [
        "https://docker.registry.cyou",
        "https://docker-cf.registry.cyou",
        "https://dockercf.jsdelivr.fyi",
        "https://docker.jsdelivr.fyi",
        "https://dockertest.jsdelivr.fyi",
        "https://mirror.aliyuncs.com",
        "https://dockerproxy.com",
        "https://mirror.baidubce.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.mirrors.ustc.edu.cn",
        "https://mirror.iscas.ac.cn",
        "https://docker.rainbond.cc"
    ]
}

重新加载

bash 复制代码
sudo systemctl daemon-reload && sudo systemctl restart docker

重新执行fishros

bash 复制代码
wget http://fishros.com/install -O fishros && . fishros

选择一键安装ros docker版,选择需要安装的ros版本

安装完成后,启动

bash 复制代码
docker ps -a #查看容器

docker_ros
#运行完上述命令如果显示conntain is not running,则运行下面的命令后再执行该命令

docker start docker_ros #启动容器

进入后配置环境变量并验证安装

bash 复制代码
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc  # 永久生效
source ~/.bashrc  # 立即加载环境

ros2 run turtlesim turtlesim_node #ROS2最最熟悉的小海龟,出现即成功

非常好!从此以后我就是鱼香ros最忠诚的拥护者!

相关推荐
charlie1145141916 分钟前
勇闯前后端Week2:后端基础——Flask API速览
笔记·后端·python·学习·flask·教程
码龄3年 审核中18 分钟前
Linux record 03
java·linux·运维
深蓝海拓23 分钟前
OpenCV学习笔记之:调整ORB算法的参数以适应不同的图像
笔记·opencv·学习
d111111111d23 分钟前
STM32外设--SPI读取W25Q64(学习笔记)硬件SPI
笔记·stm32·单片机·嵌入式硬件·学习
q***563825 分钟前
Springboot3学习(5、Druid使用及配置)
android·学习
TracyCoder12326 分钟前
微服务概念理解学习笔记
学习·微服务·架构
星驰云29 分钟前
记一次CentOS 硬盘损坏无法启动修复教程
linux·运维·centos
人工智能训练30 分钟前
windows系统中的docker,xinference直接运行在容器目录和持载在宿主机目录中的区别
linux·服务器·人工智能·windows·ubuntu·docker·容器
阿拉斯攀登41 分钟前
docker介绍
服务器·docker
q***474342 分钟前
Windows 和 Linux 系统下,如何查看 Redis 的版本号?
linux·windows·redis