docker概念入门及安装
初识docker
今天来学习一下docker,docker是一个开源容器引擎,在各个软件公司都应用得非常广泛。容器这玩意的出现,解决了虚拟机笨重耗内存的问题,使用虚拟机是要安装操作系统的,而容器则不用,它里面只放应用程序,这个差别就很明显了。安装一个虚拟机费时费力费内存,我装一个docker容器可能只用1小时就搞定了,还能打包发布成镜像分享复用,如此简单方便的容器,它的应用场景肯定也更多了。
docker是容器界大佬,提到容器基本就想到docker。先来理解一下它的几个基本概念:镜像、容器和仓库。
镜像(image)
Docker镜像是一个只读的模板,可以用来创建Docker容器。你可以理解这一个类,它需要被new成实例才能用。
容器(container)
Docker容器就是从镜像中new出来的实例,可以被启动、停止、删除。
仓库(Repository)
Docker仓库用于存放和管理Docker镜像,你可以类比git,分为公共仓库和私有仓库。
加强理解
人类理解一个概念是需要时间的,简单的1小时以内了然于胸,抽象复杂的需要一天甚至更久时间来消化。不信来看这张docker经典的logo图。
在这张图里面,什么是docker,什么是镜像,什么是容器,什么又是仓库呢?相信初识docker的人想把这几个概念对号入座还是有困难的。
理解不了就先安装吧
找一个linux环境练个手吧(windows也是可以的),我这里是CentOS7.x。
配置yum源
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
sudo yum -y install docker-ce
检查是否成功
sudo docker -v
这几步一般是比较顺利的,看到输出版本信息就表示docker已经安装好了。
要注意此时的docker是一个空的,输入命令docker ps
,什么镜像也没有,镜像都没有那就更别说什么容器了,因为前面说了,容器是镜像的实例。结合那个logo来说的话,此时就好比那条鱼,呸,那条船一个集装箱都没有。鱼船就是docker平台本身,集装箱就是镜像,集装箱占用的位置就是仓库,集装箱是用来装东西的,但是集装箱很大,里面可以new出很多小容器。这下能对号入座了吧(狗头)。
那问题来了镜像在哪里?镜像就在仓库里存着,前面说了仓库是用来管理镜像的,类似于程序员熟知的github用来管理各种代码,docker的仓库就叫docker hub。可以到官网[1]注册一个账号就能免费下载各类镜像了。国内用户可以用阿里的云镜像仓库:https://mirrors.aliyun.com/docker-ce/linux/centos/
,这样简单点,大家都懂。其实前面安装的第一步,我就是配置了这个仓库地址。一般情况下,镜像仓库里存放了很多种别人发布分享的镜像,我们可以根据需要下载,比如nginx镜像,就是一个包含了nginx应用程序的docker环境,下载后配置一个容器实例可以直接用了。
行吧,今天就到这儿了,主打一个理解,后面有时间再介绍一下具体的镜像安装和使用。
参考资料:
- 1、https://cloud.docker.com/
- 2、https://help.aliyun.com/zh/ecs/use-cases/deploy-and-use-docker-on-alibaba-cloud-linux-2-instances?spm=5176.22414175.sslink.2.69d838f53tnlFJ#aa11e8210adyt