参考:https://blog.youkuaiyun.com/u011278722/article/details/137673353
目录
1、安装docker
#安装必要支持
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
#添加 Docker 官方 GPG key (可能国内现在访问会存在问题)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 阿里源(推荐使用阿里的gpg KEY)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#添加 apt 源:
#Docker官方源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#阿里apt源(推荐)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新源
sudo apt update
sudo apt-get update
终端如下:

#安装最新版本的Docker
sudo apt install docker-ce docker-ce-cli containerd.io
#等待安装完成
#查看Docker版本
sudo docker version
#查看Docker运行状态
sudo systemctl status docker
安装终端显示:



docker正常运行,证明安装成功
2、安装docker命令补全工具
sudo apt-get install bash-completion
sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
source /etc/bash_completion.d/docker.sh
3、设置非Root用户执行docker命令
当我们安装好了Docker之后,有两种方式来执行docker 命令
1)在docker命令前加上sudo, 比如:sudo docker ps
2)sudo -i 切换至root用户,再执行docker 命令
为了方便现在设置非root用户也可以执行docker命令
#1、添加docker用户组
sudo groupadd docker
#2、将当前用户添加到用户组
sudo usermod -aG docker $USER
#3、使权限生效
newgrp docker
#4、测试查看所有容器
docker ps -a
#5、编辑 ~/.bashrc文件在文件末尾增加如下一行,
#如果没有此行命令,你会发现,当你每次打开新的终端
#你都必须先执行一次 “newgrp docker” 命令
#否则当前用户还是不可以执行docker命令
sudo nano ~/.bashrc
#在最后一行添加:
groupadd -f docker

![]()
我还没有创建容器,因此没有显示,但是证明非root可以执行docker命令
4、配置镜像加速器(解决镜像拉取慢的问题)
这一步是为了拉取hello-world这类 Docker 镜像时走阿里镜像通道,避免官方镜像仓库超时

访问阿里云容器镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances
在 “镜像加速器” 模块获取,每个账号有唯一地址,稳定性更高

官网上有配置代码,直接复制粘贴运行即可

更新:配置了阿里云还是拉取失败,原以为是网路问题,后来才发现是阿里云镜像不好用
sudo docker run hello-world

又添加了其他镜像源,光撒网就对了
sudo nano /etc/docker/daemon.json
#内容改为:
{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
#保存退出,用下面的命令行重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
再重新拉取,成功!

更新
5、加速器存在时效性,可能会失效
上面的在我拉取ros时就已经连接有问题了,下面的是目前还好用的:
sudo nano /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.1ms.run", // 毫秒镜像(推荐,速度最快)
"https://dockerproxy.com", // 稳定代理,兼容性好
"https://hub.rat.dev" // 备用源,偶尔第一个抽风时用
]
}
#保存退出,用下面的命令行重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
如果还是有失败的情况,把所有源都加进去,然后打开网络代理再试试
1083

被折叠的 条评论
为什么被折叠?



