docker安装前建议先卸载原有docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
故事:本来想搭建docker容器,结果一路让我遇到了几个问题:
问题一:
利用命令进行安装,
步骤一,安装依赖包:yum install -y yum-utils device-mapper-persistent-data lvm2
步骤二,设置阿里云镜像(一定要配置,不然下载速度特别慢):yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
步骤三,安装docker:yum install –y docker-ce
结果到步骤三出现了和大多数人不同的问题,而且出现的问题在网上寻找不到答案,
原本预估问题如下:
Error:
Problem: package docker-ce-3:19.03.6-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
实际出现问题:
yum install –y docker-ce Error: Cannot encode argument '\udca8Cy': 'utf-8' codec can't encode character '\udca8' in position 0: surrogates not allowed
由于寻找不到正确解决的答案,只能重新开始寻找不同的安装办法。
预估出现问题的解决方法如下:
#输入命令更新containerd.io版本
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
更新后再次执行安装docker命令即可安装成功
yum install –y docker-ce
问题二:由于问题一实际报错无法解决,因此选择了另一种安装方法:
环境查看
#查看系统内核信息
uname -r
#系统版本查看
cat /etc/os-release
安装docker
# 查看磁盘空间
df -h
cd 具体目录
du -sh * # 查看具体的使用情况
rm -rf 文件名 #删除文件# 1.卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2.需要的安装包
yum install -y yum-utils
# 3.设置镜像仓库
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo# 阿里云的镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引yum makecache fast
# 4.安装docker ,docker-ce是社区版,ee的企业版
yum install docker-ce docker-ce-cli containerd.io
# 5.启动docker
systemctl start docker# 6.查看安装成功
docker version
注意:安装到上面步骤二时又出现了问题
Error: Failed to download metadata for repo 'appstream': Cannot prepare inte
期间尝试了更新yum但效果理想
yum clean all
yum update
经过不断努力终于找到了答案, 因为centOS8于2021年12月31日停止了源的服务,而现在时间是2023年8月11日,所以之前的安装方法都不行的原因所在(本质是源的问题)。
解决办法:
按照如下4条命令行操作执行即可:
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum update -y
如果执行完后还是无法安装,分别继续下面命令操作
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum clean all
yum makecache
分别执行完上面命令行进行安装,如果还继续出现错误,需要自己切入目录中,删除所有linux文件,rm CentOS -Linux -* ,如下图:
正常执行到此步骤已经可以正常安装docker了
docker常见操作
#.查看下载的镜像
docker images卸载docker
# 依赖卸载
yum remove docker-ce docker-ce-cli containerd.io
# 删除资源
rm -rf /var/lib/docker # 默认资源路径
rm -rf /var/lib/containerd
配置Linux镜像加速器
建议成功安装docker后,配置阿里的镜像(下载redis,jdk,mysql,nocas,ngnix等等网速快)
执行上面的命令即可配置镜像加速器了。
命令如下:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://l3jjpxyt.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reload
sudo systemctl restart docker