docker的作用
- 作为程序员,我们写好的程序最终是要供用户使用的,在产品上线之前,我们需要对产品做一系列的测试,而我们可以利用docker非常简单快速的搭建测试环境并部署我们自己的应用。
docker产品
- docker是一种应用容器引擎,存在沙箱隔离机制,这意味着其内部有一个自己单独的公网IP。容器的IP也由其分配。外部机器是无法直接与容器进行通信,但容器可与宿主机进行通信,外部机器也可以与宿主机进行通信。
- 当我们的虚拟机有docker,我们就可以敲入docker命令来下载镜像,然后创建容器,启动容器。如此,一个测试环境就搭建好了。
docker镜像
- 宏观上说,镜像就是测试环境的安装包。说起镜像,我们可以想到maven中不是有远程仓库的概念吗,而docker的镜像也是从远程仓库下载至本地,并由docker进行管理。
- 镜像的本质是什么?
答:一个分层的文件系统。举个栗子就清楚了:
tomcat镜像 = 引导启动文件 + centos系统 + jdk + tomcat
mysql镜像 = 引导启动文件 + centos系统 + mysql
我们注意到当你从远程仓库上下载镜像到本地,该镜像其实并不只是你所用到的应用的镜像,而是将应用所需的环境也一并捆绑给你。所以当你下载镜像时,发现镜像比预想的大很多,这是正常的。
docker容器
- 在实际测试中,我们最终启动的就是容器,它是我们使用docker的最终产物。若我们想创建容器,需先获得它的某个版本的镜像。容器就是镜像的运行实例,我们可以通过一个镜像创建多个运行实例,即创建多个容器。
- 我们可以敲入docker命令来创建容器并启动它,但当启动它进行测试后,我们发现该测试环境还需进行一些修改,我们也可以敲docker命令进入容器,对它做相应的一些部署。
- 搭建好其他测试环境之后,我们就可以打包我们的应用,敲docker命令将我们的应用变为镜像,然后根据镜像创建容器,启动它,我们就可以测试我们自己写的程序啦》》》
docker命令