Docker常见问题
一生大笑能几回,斗酒相逢须醉倒。——岑参《凉州馆中与诸判官夜集》
终端提示Unable to find image hello-world:latest locally的问题
意思是docker在本地没有找到hello-world镜像,也没有从docker仓库中拉取到镜像。
这是因为docker服务器在国外,基于网速与“和谐墙”的问题,所以我们在国内操作国外镜像可能无法正常拉取,这需要我们为docker设置国内的阿里云镜像加速器。
解决办法
- 创建文件daemon.json文件
touch /etc/docker/daemon.json
- 配置文件/etc/docker/daemon.json,添加阿里云镜像
国产镜像: https://registry.docker-cn.com
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
- 重启docker服务
#systemctl daemon-reload
#systemctl restart docker
#sudo systemctl status docker
loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
说明docker就没有启动成功
解决方法:
vi /etc/docker/daemon.json
写入指定参数:
{ "storage-driver": "devicemapper" }
重启docker服务
systemctl restart docker
Docker Application Container Engine Loaded
修改docker.service启动信息
# 修改docker.service启动信息
vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock
修改daemon.json
复制代码
#修改daemon.json
vim /etc/docker/daemon.json为 daemon.conf
Docker降级
1.查看安装版本 我这安装的是最新的docker版本。如下: yum list installed | grep docker
2.停止docker服务 [root@localhost ~]# systemctl stop docker.service 语法:yum downgrade –setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version} 注:${version}指定要降级的版本。
示例,如下(亲测有效):
[root@localhost ~]# yum downgrade –setopt=obsoletes=0 -y docker-ce-19.03.15-3.el7 docker-ce-cli-19.03.15-3.el7 containerd.io-1.3.9-3.1.el7
3.启动并查看 启动docker服务: [root@localhost ~]# systemctl start docker.service 查看docker版本: [root@localhost ~]# docker –version
查看 Docker 版本信息: [root@localhost ~]# docker version
为什么降低版本呢? 因为更新了系统后(未做系统升级过滤),docker也随之更新为最新版本,在rancher添加的主机上就提示【未测试Dokcer版本】,而我之前的版本是19.03,因为添加主机的时候docker版本是19.03,升级后就显示未测试Docker 版本,为了使以前的系统和安装的驱动不出问题,所以要进行docker版本降低