自序
经常听别人说起docker ,自己工作中也有用到docker,但是因为做外包的原因,只是在使用jar包,调用接口都是别人封装好的,只要根据接口拿到你需要的系统配置信息就行了,所以一直没有自己学习docker怎么安装,配置
最近辞职面试的时候,觉得自己有必要学习些新的东西,所以把docker 试着安装了下,结果安装的时候出了好多问题,归根结底的原因是:
1. 对docker 不熟,不知道有哪些配置,即使百度,google 了答案,但是缺少的参考配置也无从找起,因为别人解决问题都是从好的系统copy 配置文件到新安装的 docker 系统
2. 对Liunx 系统 不熟,不知道怎么解决一节服务不能启动的问题,以及服务启动报错的问题
互勉:后面要把linux 操作系统多学习下,一切的软件开发都是在操作系统上进行的,作为一个java 开发,不仅要知道linux常用命令,还要想往后的发展方向,运维,测试,安全专家等等。基础打好,路才能走的宽啊!当然如果以后改行的话,你就当我没说!
Docker的安装
1.使用存储库安装
2.从包安装
3.使用便利脚本安装
安装方式 请参考 官网 https://docs.docker.com/install/linux/docker-ce/centos/#set-up-the-repository ,不在此一一赘述。
本文要说的不是安装步骤,而是安装步骤安装之后遇到的问题,以及我是怎么解决的
遇到的问题
由于对linux 只是稍微懂点,对docker的安装刚接触 ,抱着学习的态度我选择了1. 使用存储库安装 ,不知道是否是由于当时网速的原因,还是什么原因,总是按照到一般就报错了,总是不能按照步骤完成安装,最后只好放弃了第一种安装方式
之后 选择了 2 .从包安装,也就是在 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 地址 下载安装包之后,安装命令安装,但是由于不知道是只需要哪些包,还是所有包,结果只下载了两个包
安装之后,测试是否安装成功。
命令:docker info 或者 docker version
报错 : Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
百度之后说是 没有启动 docker.service 服务 ,然后 尝试 启动服务
命令:
sudo systemctl start service
报错: Failed to start docker.service: Unit docker.socket failed to load: No such file or directory
再百度 ,说是配置的问题,于是修改了几次配置文件
1. https://blog.csdn.net/fenglailea/article/details/82290753 修改之后,不行
2. https://blog.csdn.net/fenglailea/article/details/82290753 修改之后,不行
3. https://www.jianshu.com/p/7ea120995f0b 修改之后 ,错误有所变化
命令 :systemctl status docker.service
报错:Failed to start Docker Application Container Engine.
搞了好久,这些懵逼了,不知道是不是把环境搞乱了,问题还是没有得到解决,docker服务还是不可用
最后看了一篇文章:https://blog.csdn.net/Hello_World_QWP/article/details/81147307
其他的就不说了,只说最终解决方法,就是卸载重装。
步骤:
#删除docker 开头的文件
1. yum remove docker-*
#重启服务器(或者找到docker的服务,kill掉进程)
2.reboot
##删除docker 开头的文件 (为了防止因为进程占用资源而没有删除干净)
3.yum remove docker-*
4. 删除lib ,run 目录下存在 docker 的目录文件,我看了下,我这边是没有的
#更新linux 内核(我这边是最新的,所以没有什么要更新的)
5. yum update
# 安装docker
6. sudo yum install docker
#启动docker
7. systemctl start docker
#查看docker 状态
8.systemctl status docker
最终成功截图:
至此docker 算是安装成功了!!,后续还要看下这几个错误到底是什么原因,应该怎么解决,不过这个在使用的过程中不是重点,重点是后面学会使用docker 配置环境,生成镜像,为后面环境搭建节省时间!