docker学习(一)docker 概述
docker学习(二)docker 安装部署
docker学习(三)常用命令
docker学习(四)使用 commit 制作镜像
docker学习(五)使用 Dockerfile 制作镜像
docker学习(六)卷 Volume
docker学习(七)docker daemon
docker学习(八)HTTP/HTTPS 代理
docker学习(九)docker 调试
docker学习(十)docker 持久化存储
系统版本
本文以 Ubuntu 20.04 系统为例安装 docker,Ubuntu 官方下载地址。
参考:https://blog.csdn.net/Tester_muller/article/details/131440306
1. 检查卸载老版本 docker
注: docker 的旧版本不一定被称为 docker,docker.io 或 docker-engine 也有可能,所以我们卸载的命令为:
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 更新软件包
在终端中执行以下命令来更新 Ubuntu 软件包列表和已安装软件的版本:
sudo apt update
sudo apt upgrade
3. 安装 docker 依赖
docker 在 Ubuntu 上依赖一些软件包。执行以下命令来安装这些依赖:
sudo apt-get install ca-certificates curl gnupg lsb-release
4. 添加 docker官方 GPG 密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
5. 添加 docker 软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
6. 安装 docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
7. 配置用户组(可选)
默认情况下,只有 root 用户和 docker 组的用户才能运行 docke r命令。我们可以将当前用户添加到 docker 组,以避免每次使用 docker 时都需要使用 sudo。命令如下:
sudo usermod -aG docker $USER
注意: 重新登录才能使更改生效。
8. 运行 docker
我们可以通过启动 docker 来验证我们是否成功安装。命令如下:
sudo systemctl start docker
重启 docker
sudo service docker restart
查看 docker 版本
sudo docker version
9. 问题解决
9.1. 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)
参考:
https://blog.csdn.net/jhgj56/article/details/142209517
报错信息
$ sudo docker pull ubuntu:20.04
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)
问题解决
配置加速地址:
$ sudo vim /etc/docker/daemon.json
添加以下内容:
{
"registry-mirrors": [
"https://docker.211678.top",
"https://docker.1panel.live",
"https://hub.rat.dev",
"https://docker.m.daocloud.io",
"https://do.nark.eu.org",
"https://dockerpull.com",
"https://dockerproxy.cn",
"https://docker.awsl9527.cn"
]
}
重启 docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
重新拉取镜像
$ sudo docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
602d8ad51b81: Pull complete
Digest: sha256:fa17826afb526a9fc7250e0fbcbfd18d03fe7a54849472f86879d8bf562c629e
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 20.04 9df6d6105df2 6 weeks ago 72.8MB
9.2. Error response from daemon: Get “https://index.docker.io/v1/search?q=mysql&n=25”: dial tcp 202.160.128.210:443: connect: connection refused
参考:
https://blog.csdn.net/dengzhuqing/article/details/138087230
https://blog.csdn.net/m0_58353740/article/details/139187296
报错信息
$ sudo docker search mysql
Error response from daemon: Get "https://index.docker.io/v1/search?q=mysql&n=25": dial tcp 202.160.128.210:443: connect: connection refused