Linux(CentOS7)下安装Docker(超级详细)
HiBlackCheng 2024-07-24 17:37:02 阅读 80
一、Docker简介
Docker 分为 CE 和 EE 两大版本。CE: 即社区版,免费,支持周期 7 个月EE: 即企业版,强调安全,付费使用,支持周期 24 个月。
1、在没有Docker的日子里
在以前的开发时代,开发人员把自己开发好的war交付给运维人员,运维人员为了把war部署到服务器上且保证能运行,就必须由运维人员在服务器上搭建好运行环境!
可这样带来的问题是,如果开发环境与部署环境不一致(比如版本),则会导致无法在服务器环境上运行的问题。也就会经常听到开发人员说:“在我的机器上可正常工作的呀”之类的抱怨!
而为了解决这个问题,让这些程序在部署环境可以顺利执行,开发团队除了交付应用代码以外,也得准备完整的部署文件,让运维团队得意部署应用程序。即便如此,服务器上仍然常常发生部署失败的状况。
所以,我们才会经常看到“程序员拜服务器”这样奇葩的事情啦,为了维护宇宙和平,为了开发人员和运维人员的大团结,docker应运而生!
2、Docker是什么
docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 (摘自百度百科)
3、Docker能做什么?
docker的作用:
简单来说,就是将你的业务代码和部署环境打包在一起,打包在一起的这个东东叫做“镜像”,然后你把“镜像”直接交给运维人员即可,运维人员拿到了你给他的“镜像”,就等价于同时拿到了业务代码、部署环境,运维人员再也不用自己亲自下载任何环境包了 (甚至运维人员都可以不要了,DevOps应运而生)
也就是说,docker能保证开发环境与部署环境的绝对一致!在使用docker的情况下,只要开发人员能保证在开发阶段应用能正常运行,那么把项目交付给运维人员后,在部署环境下也一定能运行!
另外,在使用docker的提前下,横向扩展 (集群)也是很方便的
想要搞懂Docker,其实看它的两句口号就行。第一句,是“Build,Ship and Run”。
也就是,“搭建、发送、运行”,三板斧。举个例子: 我来到一片空地,想建个房子,于是我搬石头、砍木头、画图纸,一顿操作,终于把这个房子盖好了,结果,我住了一段时间,想搬到另一片空地去。这时候,按以往的办法,我只能再次搬石头、砍木头、画图纸、盖房子。但是,跑来一个老巫婆,教会我一种魔法。这种魔法,可以把我盖好的房子复制一份,做成“镜像”,放在我的背包里,我拿着这个包,到了另一片空地,就用这个“镜像”,复制一套房子,摆在那边,拎包入住。
Docker的第二句口号就是:“Build once, Run anywhere”,一次构建,随地运行!!!!
二、Docker安装
下面以安装CE(社区版)版本为例
1、务必配置阿里的yum源,这样安装Docker的速度就不会太慢
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 2、下载Centos-7.repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 注意:部分小伙伴可能没有安装wget,需要先安装wget,或者用下面的命令下载repo文件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 3、清除yum缓存
yum clean all
# 4、缓存阿里云源
yum makecache
# 5、测试阿里云源
yum list
2、卸载旧版本的Docker,旧版本的Docker程序被称作Docker或者Docker-engine,如果之前在系统中安装过,那么就卸载掉,当然连同依赖一起卸载了!
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-selinux \
docker-logrotate \
docker-engine-selinux\
docker-engine
执行结果如下:
3、安装需要的package
安装<code>yum-utils,它提供了yum-config-manager
,同时安装device-mapper-persistent-data
和lvm2
,这些是Docker设备映射器(devicemapper)存储驱动程序所必需的。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
执行结果如下:
4、使用一下命令来搭建稳定的仓库
<code>sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
执行结果如下:
5、安装 docker,以及 docker-cli,安装时间稍长,请耐心等待
<code>sudo yum install docker-ce docker-ce-cli containerd.io
如果想安装特定版本的Docker CE,可以先列出所有可用的版本,然后选择特定版本进行安装:
yum list docker-ce --showduplicates | sort -r
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
请将<VERSION_STRING>
替换为你想安装的具体版本号。
执行结果如下:
6、启动Docker
<code>systemctl start docker
别紧张,这里执行后没有什么显示效果
7、查看Docker启动状态
systemctl status docker
执行结果如下:
8. 验证Docker安装
为了验证Docker是否正确安装,可以运行<code>hello-world镜像来测试:
sudo docker run hello-world
9、安装成功,查看Docker版本
docker -v
10、设置Docker开机启动
<code>sudo systemctl enable docker
至此安装就结束啦,觉得不错的小伙伴留个小心心,一起学习,一起进步!
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。