1.首先了解什么是docker?docker能干什么?
docker是一种虚拟化的容器化技术。docker常用于服务器上的应用的部署。比如现在有一台新的服务器上需要部署一个web应用。常规的方法:我们可能需要安装java、mysql、nginx等等服务的环境,然后才能正常部署发布。如果是使用docker发布部署,我们只需要安装docker的环境就搞定了,是不是简单方便多了。
2.什么是镜像?什么是容器?
这两个名词是docker学习中经常听到的,那么什么是镜像?什么容器呢?镜像通俗的讲就像是一款手机应用商店的APP(比如微信、QQ)。docker官方已经帮我做好了很多常见环境的官方镜像。我们如果需要这个环境只需要到镜像仓库去下载即可,非常方便。那么什么是容器呢?其实运行起来的镜像就是容器,比如我打开微信,那么就有一个微信的容器开启了。如果我关闭微信后台进程,那么这个容器也就杀掉了。
更加直白的说,可以说是镜像是静态的,容器是动态的。当我们手机上一款app没有运行的时候,它就类似一个镜像。当它运行起来的时候,它就是一个容器。
回到使用上,比如我们现在部署一个web应用。我只需要安装docker环境后,拉取java镜像、mysql镜像、nginx镜像即可,然后将我们的jar包、sql文件、前端文件放入运行的文件即可,程序就部署了。其实当容器运行时,每个容器都是一个微型的linux系统。就相当于当我运行java镜像时,docker就为我们单独生成了一个具有java环境的linux系统给我们用。当我们运行mysql镜像时。docker也为我们单独生成了一个具有mysql环境的linux系统给我们。是不是非常的方便?