1、卸载apt库内的旧的docker版本
由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
根据个人情况,本人系统上面也没有卸载
2、更新apt包的索引
sudo apt-get update
3、安装以下包以使apt可以通过HTTPS使用存储库(repository)
应该是安装好后,使得apt可以通过联网使用存储库中的内容。
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
4、添加Docker官方的GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
会显示OK
5、使用下面的命令来设置stable存储库
sudo add-apt-repository "deb [arch=amd64]
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
6、再更新一下apt包索引
sudo apt-get update
7、安装最新版本的Docker CE
sudo apt-get install -y docker-ce
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
(用其中一条命令,第二条命令有懂的可以评论一下,谢谢 !)
若第二条命令运行错误时:
运行时遇到 GPG 错误
默认掩码可能设置不正确,从而导致无法检测到存储库的公钥文件。运行以下命令,然后再次尝试更新存储库:
sudo chmod a+r /etc/apt/keyrings/docker.gpg
8、验证是否安装成功
(1)、查看安装docker的版本
docker -v
(2)、启动docker,拉取hello-world验证是否安装成功
sudo systemctl start docker
接着使用以下命令,能观察到从远程下载这个测试用的容器:Pulling from library/hello-world:
然后看到打印消息:Hello from Docker! 说明Docker安装成功。
sudo docker run hello-world
9、权限问题
之前的操作过程我们发现docker命令使用过程中不断的需要sudo权限,输入密码,这样很不方便,因此,我们接下来将用户加入到docker的权限中,这样每次命令就可以不用sudo了:
sudo chmod a+rw /var/run/docker.sock
发现开启docker之后在运行其他命令行不会提示权限不足了。
10、设置开机自启动
安装好 Docker 后,你可以让系统在启动时自动启动 Docker 守护进程。使用下面命令来实现这一点
systemctl enable docker
到此,基础安装完毕。
11、配置加速
这里额外添加了docker的生产环境核心配置cgroup
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
另附:docker:containerd.io docker-ce-cli docker-ce 的区别
- containerd.io : 守护进程 containerd。 它在 docker 包上独立工作,并且是 docker 包所必需的。
- containerd 可用作 Linux 和 Windows 的守护程序。 它管理其主机系统的完整容器生命周期,从图像传输和存储到容器执行和监督,再到低级存储到网络附件等等。
-
docker-ce-cli : docker 引擎的命令行界面,社区版
-
docker-ce : docker 引擎,社区版。 需要 docker-ce-cli。
-
docker-compose-plugin - 简单来说Compose是一个将多个docker容器组合部署的技术,能通过编写yaml配置文件来一键启动、暂停所有的容器,而不再需要用一条条的docker run命令来启动多个容器
原文链接:https://blog.csdn.net/ashiners/article/details/119849657