1、Docker是什么?
Docker是一个基于Linux、用Go语言开发的开源应用容器引擎。它采用沙箱机制,彼此独立,相互之间没有任何接口,类似于iphone中各个独立的app应用。docker的目标是一次封装,到处运行。简单来说,docker就是将应用和依赖环境打包在一个文件,运行这个文件,就会产生一个虚拟容器。程序在这个容器中运行,就像在真实的物理机上运行一样。具体架构如下:
2、Docker为什么会产生呢?
Docker是硬件发展到了一定的阶段,容器的虚拟化可以使资源利用最大化。举个例子,比如之前做Tomcat集群,你可能需要3-4台Linux服务器,每个服务器里面都需要安装Tomcat来实现集群。现在只需要一台Linux服务器,开启四个Tomcat容器即可,大大节省了硬件资源。
同时,现在云计算的兴起,虚拟化技术在应用环境一致性,大规模弹性伸缩的多方面限制,为解决云应用部署及生命周期管理的痛点,docker在这样的背景下产生了。
3、Docker VS 虚拟化
你可能会说,用VMWare或Vbox也可以实现一个机器上虚拟多个系统做这些事。为什么要用Docker呢?
4、Docker的三大核心概念
镜像(image):类似于虚拟机镜像,只读模板。打包应用和依赖环境的文件,包含了运行应用程序的一切,代码、运行时、类库、环境变量、配置文件等。
容器(Container):轻量级沙箱,运行的实例,相当于简易的linux环境,镜像上创建的可写层。通过镜像启动,是镜像运行的实例,有状态的镜像。
仓库(Repository):Docker集中存放镜像文件的场所,分Public和Private,类似于GitHub,可以Push和Pull。
个人感觉还有一个概念也十分重要:
服务(Service):允许在多个docker节点间弹性的伸缩容器。
5、Docker的安装(Centos7)
安装:yum install docker -y
查看版本:docker -v
使docker变成服务:systemctl enable docker
启动/停止docker服务:systemctl start/stop/restart docker
查看docker服务:ps -ef | grep docker
docker安装在哪:etc/docker/
docker配置文件目录:/etc/docker/daemon.json