文章目录
前言:为什么需要Docker
开发提交源代码后,运维部署环境不一致,会导致程序无法运行
开发的过程中,开发人员身处的环境配置各有不同。开发的应用依赖于当前配置且依赖于某些配置文件。为在企业或其他模拟你自己的环境而又不需要重新创建服务器环境,而又不会导致部署产生版本问题,docker诞生。Docker即容器,实现系统平滑移植。软件可以带环境安装,安装的时候,能把原始环境一模一样复制,保证迁移过程软件不走样。不会因为底层基础架构和操作系统的不一致给应用带来影响,产生新的BUG。
目的:可将(源码+配置+环境+版本)打包形成一个镜像文件,跑在docker中
一、虚拟机与Docker比较
传统虚拟机技术是虚拟出一套硬件后,再其上运行一个完整操作系统,在该系统上再运行所需应用进程
;
而Docker容器内的应用进程直接运行在与宿主的内核,容器内没有自己的内核且没有硬件虚拟。因此容器要比传统虚拟机更为轻便
。每个容器之间相互隔离,每个容器有自己的文件系统,容器之间不会相互影响,能区分计算资源。Docker只需要所需要的的最小内核,能运行起该软件。
Docker特点如下:
Docker 基本组成:镜像、容器、仓库
二、安装步骤
1.卸载旧版本
官网教程路径https://docs.docker.com/engine/install/centos/
卸载旧版本代码如下:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
若没有旧版本,直接从步骤二开始。
2.yum安装g++相关
sudo yum -y install gcc
sudo yum -y install gcc-c++
3.安装需要的软件包
sudo yum install -y yum-utils
4.设置stable镜像仓库
设置镜像库为外网,则偶尔卡,参考官网
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
效果如下:
也可用阿里云仓库:将如下链接环卫阿里云仓库链接
链接:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.更新yum软件包索引
yum makecache fast
相当于重建yum索引,以后安装会快些。
6.安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
遇到抉择,都输入y
三、测试是否安装成功
1.启动docker
sudo systemctl start docker
2.检测docker 是否运行
ps -ef | grep docker
3.查看版本号
docker version
可以观察到显示了client与server两个的版本号。到这边的话基本已经安装成功。
4.测试镜像
sudo docker run hello-world
如果出现上方hello,这成功。这是本地没有这个镜像,docker去仓库调用这个镜像,有时候因为官方是外网,太卡报error也正常。测版本能显示client 和service则问题不大。
3.问题解决
查看版本号时只显示client版本号,而没有service!!
方法1:是因为没有启动service,启动就能解决
service docker start
方法2:内核版本低了,更新!
yum update
再安装一次docker,与运行服务端
sudo yum install docker
service docker start
方法3:可能没有root权限,跟系统安装时有关
直接输入su,获得root权限
su
启动服务端
service docker start