/* 你的 HTML 代码将放在这里 */
L
O
A
D
I
N
G
紅葉
目录导航
docker

docker

docker

1.安装docker(ubuntu24.04)

第 1 步:更新软件包并安装必要软件

运行以下命令,更新软件包索引并安装添加 Docker 仓库所需的前置软件包:

1
2
sudo apt update
sudo apt install apt-transport-https curl

第 2 步:导入 Docker 官方 GPG 密钥

使用以下命令下载并导入 Docker 官方的 GPG 密钥:

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

第 3 步:添加 Docker 官方仓库

将 Docker 的官方仓库添加到 Ubuntu 24.04 LTS 的软件源列表:

1
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

第 4 步:更新软件包列表

刷新软件包列表,以便系统识别新添加的 Docker 仓库:

1
sudo apt update

第 5 步:安装 Docker

执行以下命令在 Ubuntu 24.04 LTS 上安装最新版本的 Docker,包括 Docker 引擎及其相关组件:

1
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装的组件包括:

  • docker-ce:Docker Engine。
  • docker-ce-cli:用于与 Docker 守护进程通信的命令行工具。
  • containerd.io:管理容器生命周期的容器运行时环境。
  • docker-buildx-plugin:增强镜像构建功能的 Docker 扩展工具,特别是在多平台构建方面。
  • docker-compose-plugin:通过单个 YAML 文件管理多容器 Docker 应用的配置管理插件。

第 6 步:检查 Docker 服务状态

使用以下命令检查 Docker 的运行状态:

1
sudo systemctl is-active docker

第 7 步:运行测试容器

运行 hello-world 测试容器,验证 Docker 是否安装成功并正常工作:

1
sudo docker run hello-world

替换 DockerHub 国内镜像源

如果拉取 DockerHub 镜像时遇到困难,可以替换为国内镜像:

1打开配置文件:使用文本编辑器打开 Docker 的配置文件,如果没有就新建:

1
sudo vim /etc/docker/daemon.json

2编辑配置文件:在配置文件中添加或修改registry-mirrors,指定国内镜像源的 URL。以下是一些可用的国内镜像源地址,你可以根据需要选择使用:

  • DaoCloud:https://docker.m.daocloud.io
  • 百度云镜像站:https://mirror.baidubce.com
  • 网易云镜像站: http://hub-mirror.c.163.com
  • 南京大学镜像站: https://docker.nju.edu.cn

配置文件的内容示例如下:

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://mirror.baidubce.com",
"http://hub-mirror.c.163.com"
]
}

3重启 Docker 服务:保存配置文件并重启 Docker 服务以应用更改。

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

4验证配置:重启 Docker 后,使用docker info命令来检查镜像源是否已经替换成功:

1
sudo docker info

允许非 root 用户运行 Docker 命令

默认情况下,只有 root 用户或具有 sudo 权限的用户才能够执行 Docker 命令。如果不加sudo前缀直接运行docker命令,系统会报权限错误。

我们可以运行以下命令将当前登录的用户添加到 docker 组,以便以非 root 用户身份运行 Docker 命令:

1
sudo usermod -aG docker ${USER}

卸载 Docker

要从 Ubuntu 24.04 LTS 中卸载 Docker,都可以按照以下步骤操作:

1使用以下命令卸载 Docker 及其相关组件:

1
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

2执行以下命令来删除 Docker 创建的目录:

1
2
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Docker常用指令

1
docker images  # 查看全部镜像

1
sudo docker run -it REPOSITORY:TAG  # 运行容器
1
docker ps  # 获取当前容器ID或名称

1
docker commit ros_container my_ros_env:v1  # 提交容器为新的镜像
1
docker commit a1b2c3d4e5f6 my_ros_env:v1  # 使用容器的 CONTAINER ID 来提交镜像
1
docker save -o my_ros_env_v1.tar my_ros_env:v1  # 保存镜像为 tar 文件
1
docker load -i my_ros_env_v1.tar  # 加载镜像(在其他主机上使用)

使用docker运行ros镜像

获取 ROS 1 Docker 镜像

官方提供了 ROS 1 的 Docker 镜像。你可以直接从 Docker Hub 上下载所需版本的镜像,例如 noeticmelodic

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

启动 Docker 容器

使用以下命令来启动容器并运行交互式 Bash shell。启动容器时,可以将当前目录挂载到容器中,方便开发:

1
docker run -it --rm osrf/ros:noetic-desktop-full

配置 ROS 环境

在容器中运行 ROS 之前,先配置 ROS 环境。例如,如果你运行的是 noetic,则可以这样配置:

1
source /opt/ros/noetic/setup.bash

为了让该环境配置在每次新终端中生效,可以将其添加到 .bashrc 文件中:

1
2
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

测试 ROS 1 安装

可以使用 roscore 命令来测试是否配置正确。运行以下命令:

1
roscore

如果 roscore 正常启动,那么你的 ROS 1 环境已配置完成。

确保 Docker 环境设置正确

如果您计划运行 Gazebo 或其他图形界面的 ROS 工具,请确保您已设置 X11 共享:

1
xhost +local:docker
本文作者:紅葉
本文链接:https://swe-et.github.io/docker/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可