序言
作为一个Java开发的菜鸟,第一次在自己电脑上安装虚拟机,且装的系统为Centos7,在安装docker时会遇到许多问题,在查阅多次资料后自己整理了大概的步骤与解决办法;写的文章不多,旨在记录自己遇到的问题,如果有不对的地方,欢迎大家在评论区指出,我们一起讨论。
我是使用VirtualBox+Vagrant配置linux虚拟机,由于登录使用的是默认账号vagrant,而不是root账号,所以以下命令都是需要加sudo来执行,否则会显示没有操作权限
问题与解决方法
首先在安装docker之前需要先卸载旧版docker
sudo yum remove docker docker-common docker-selinux docker-engine
遇到的问题:
在卸载时可能会遇到yum命令不可用,那就需要先更新yum源,然后我在配置yum源时遇到的问题就是wegt命令无法使用,这个时候yum不能用,wegt也不能使用,但是又必须使用yum来安装一些东西,一下就是我的解决办法:
先备份原来的yum源文件(很重要,作为一个程序员,我们需要保持良好的习惯,对文件备份真的很重要,否则遇到问题回退版本就会成为大麻烦,这都是我踩过的坑)
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
然后更新yum源文件(此处下载的是阿里云的源文件,重中之重,否则无法使用yum命令)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
在这之后清理缓存并生成新的缓存使用以下两行代码
sudo yum clean all
sudo yum makecache
然后可通过yum来安装wegt,但是我没有进行安装,我直接使用yum命令来安装我的docker了,后面在补充安装wegt
接下来是我安装docker的步骤:
重复上面的卸载旧版本docker(有安装过docker的执行,没有安装过的可以忽略,执行也没事,我是为了以防万一还是执行了)
sudo yum remove docker docker-common docker-selinux docker-engine
然后会显示没有找到docker相关的包
继续执行以下命令,安装yum相关的工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
然后设置yum源为阿里云源(其实上面更新的文件中本身就是阿里云的源,以防万一还是设置一下,否则遇到问题又会浪费时间)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
然后可以查看docker相关的版本
yum list docker-ce --showduplicates | sort -r
可以指定相关版本,也可以下载默认版本
#下载指定版本
yum -y install docker-ce-18.03.1.ce
#下载默认版本
yum install -y docker-ce
安装完成后可以查看docker版本:
docker --version
因为自己电脑上安装的虚拟机可能关机会比较频繁,所以接下来可以设置一个docker开机自启动
sudo systemctl enable docker
最后配置一个阿里云的镜像加速(加快我们从阿里云镜像源仓库拉取模块的速度),共有四行代码,分别执行,就完成啦
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://zv8ltsdc.mirror.aliyuncs.com"]
}
EOF
#重启docker后台线程
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker