目录
一. 在 Ubuntu 20.04 中安装 Docker
1. 阿里云一键安装
2. 手动安装步骤
2.1 卸载老旧版本
2.2 安装环境依赖
2.3 安装 GPG 证书
2.4 设置存储库
2.5 安装 Docker
2.6 验证安装是否成功
2.7 安装 Dockers 网页管理
二. 在 Docker 内安装 ROS(Melodic)
1. 安装 Melodic
2. 构建通用环境依赖
3. 在镜像中创建容器
4. 正式使用 Ros Melodic 环境
三. 在 Docker 中使用 Vscode 开发
1. 在 vscode 安装 docker 插件
2. 启动 Docker 容器
3. 使用 vscode 连接 docker 进行开发工作
背景:
由于当前使用的是 Ubuntu20.04 系统,而开发环境需要使用 Ubuntu18.04 + ROS(Melodic),为了方便安装配置,在 Ubuntu20.04 里安装 Docker环境,再在 Docker 中安装 ROS(Melodic)来解决环境问题,为了写代码方便还需要配置 Docker 环境支持 VsCode 远程编码和调试。
一. 在 Ubuntu 20.04 中安装 Docker
1. 阿里云一键安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2.手动安装步骤:
2.1 卸载老旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
2.2 安装环境依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
2.3 安装 GPG 证书
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
2.4 设置存储库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2.5 安装 Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
2.6 验证安装是否成功
sudo docker run hello-world
如果出现如下信息则安装成功。
2.7 安装 Dockers 网页管理
# 安装 Portainer
sudo systemctl restart docker
sudo docker pull portainer/portainer
sudo docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always --name prtainer portainer/portainer
# 运行上述命令后,放行防火墙,访问本机的9000端口进入Portainer,创建账号密码之后即可登录到控制台。
# 参考 https://blog.csdn.net/qq_40695642/article/details/117607446
二. 在 Docker 内安装 ROS(Melodic)
1. 安装 Melodic
sudo docker pull osrf/ros:melodic-desktop-full
2.构建通用环境依赖
# 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
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 -f Dockerfile -t MyDocker .
# 查看创建的镜像
sudo docker images
3.在镜像中创建容器
xhost +
sudo docker run -it -v$(pwd):/data --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix --env="DISPLAY=$DISPLAY" --name=catkinDocker MyDocker:latest /bin/bash
'其中参数 -v$(pwd):/data 是指将 ‘当前目录’ 挂载到ROS容器根目录data文件夹下,可以用来和宿主机进行文件交换'
# 查看容器ID及状态:
sudo docker ps -a
# 终端进入容器,并打开 roscore:
sudo docker exec -it your-docker-id /bin/bash
roscore
# 如果 roscore 运行正常,表示 melodic 安装成功,按 ctrl + c 退出 roscore
# 设置进入时加载 ROS 环境:
sudo vi ~/.bashrc
# 在最后一行加入 source /opt/ros/melodic/setup.bash
# 找到 force_color_prompt=yes, 去掉前面的‘#’开启颜色显示。
4.正式使用 Ros Melodic 环境
# 查看容器
docker ps -a
# 启动容器
docker start container_id
进入容器后,执行:roscore
# 另开一个终端
docker exec -it container_id /bin/bash
进入容器后,执行: rviz
文章来源:https://www.toymoban.com/news/detail-810407.html
三. 在 Docker 中使用 Vscode 编码开发
1. 在 vscode 安装 docker 插件
& 2. 启动 Docker 容器
docker start container_id
3. 使用 vscode 连接 docker 进行开发工作
点击 vscode 左下角的远程连接图标,弹出如上界面,选择 “附加到正在运行的容器...”,
在弹出的选择对话框中选择对应的 Docker 容器,等待连接上 Docker 后,就可以开始编写代码了。
本人的使用感受:Dockers 里的 vscode 的速度相对于本机慢了一些。文章来源地址https://www.toymoban.com/news/detail-810407.html
到了这里,关于Ubuntu20.04内安装Docker并在Docker内安装 ROS Melodic的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!