2.1准备
本机环境:x64,ubuntu22.04 64位
docker环境:osrf/ros:melodic-desktop-ful
arm64v8/ros:humble-ros-base
Docker官方资料:
Install Docker Engine on Ubuntu
https://docs.docker.com/engine/install/ubuntu/
Ubuntu Docker 安装
https://www.runoob.com/docker/ubuntu-docker-install.html
2.2安装docker
2.2.1安装步骤
卸载旧版本的docker
sudo apt-get remove docker docker-engine docker.io
更新软件源列表
sudo apt-get update
安装软件包依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common
添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –
添加Docker源,选择stable长期稳定版
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable”
更新软件源列表
sudo apt-get update
安装最新版本的 Docker Engine-Community 和 containerd:
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
测试 Docker 是否安装成功,输入以下指令,打印出以下信息则安装成功:
$ sudo docker run hello-world
正确会显示类似以下内容:
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
如果要使用 Docker 作为非 root 用户,则应考虑使用类似以下方式将用户添加到 docker 组:
$ sudo usermod -aG docker $USER
2.2.2报错问题解决
问题1 docker pull失败
报错:Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
解决:
命令行输入:vi /etc/docker/daemon.json
加入内容:
{
“registry-mirrors”: [
“http://hub-mirror.c.163.com”,
“https://mirrors.tuna.tsinghua.edu.cn”,
“http://mirrors.sohu.com”,
“https://ustc-edu-cn.mirror.aliyuncs.com”,
“https://ccr.ccs.tencentyun.com”,
“https://docker.m.daocloud.io”,
“https://docker.awsl9527.cn”
]
}
重新加载配置
systemctl daemon-reload
重启Docker
systemctl restart docker
问题2 apt-get update失败
报错:docker无源
解决:添加Docker源,选择stable长期稳定版
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable”
暂无评论内容