文章目录
Docker简介
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的优点
要了解Docker的优点,首先我们得看看传统项目的发布流程。
传统项目发布流程
传统的项目发布到Linux服务器的大致流程:
1、安装JDK
2、安装Tomcat
3、将项目war包上传到tomcat的webapp下
4、修改配置文件
5、启动Tomcat
这样看似没问题,其实我们想一想,发一台机器还好,这几步就完成了,但若发布到多台机器,其效率是非常低下的,不仅仅浪费了太多的不必要时间,而且还增大了人为操作的出错率。
使用Docker发布项目的优点
作为一种新兴的虚拟机方式,Docker跟传统的虚拟机方式相比具有众多的优势。
首先,Docker容器的启动可以在毫秒级实现,这相比传统的虚拟机方式要快得多。其次,Docker对系统资源的利用率很高,一台主机上可以同时运行数千个Docker容器。
容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行10个不同的应用就要起10个虚拟机,而Docker只需要启动10个隔离的应用即可。
Docker的三大核心概念
镜像
镜像简介
镜像是Docker的三大核心概念之一。
Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载(默认使用DockerHub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。
Docker对镜像的基本操作
docker对镜像的基本操作,我们以使用hello-world
镜像为例来进行说明
搜索:
docker search hello
搜索的结果为:
[root@localhost ~]# docker search hello
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/hello-world Hello World! (an example of minimal Docker... 770 [OK]
docker.io docker.io/tutum/hello-world Image to test docker deployments. Has Apac... 59 [OK]
docker.io docker.io/openshift/hello-openshift Simple Example for Running a Container on ... 31
docker.io docker.io/google/nodejs-hello 24 [OK]
docker.io docker.io/dockercloud/hello-world