我正在参加「掘金·启航计划」
突然想到前段时间听周围大佬聊天,提到了 Docker 部署,这个 Docker 之前在学校的时候,有一个朋友就搞过,当时他是在搞一个刷什么东西脚本,是利用 Docker 部署的,他当时还推荐我去了解一下,但过后我就给忘记了。正好这段时间又想起来了,正好学习一下......
什么是 Docker
Docker 是一个用来装应用的容器,就像杯子可以装水;笔筒可以放笔;书包可以放书;可以把 Hello Word 放在 Docker 中;可以把网站放入 Docker 中;可以把任何想得到的程序放在 Docker 中。
Docker 思想
集装箱
没有集装箱之前运输货物,东西零散容易丢失,有了集装箱之后货物不容易丢失。我们可以把货物想象成程序,目前我们要把程序部署到一台新的机器上,可能会启动不起来。比如少一些配置文件什么的或者少了什么数据,有了 Docker 的集装箱,可以保证我们的程序不管运行在哪不会缺东西。
标准化
运输方式
Docker 运输东西有一个超级码头,任何地方需要货物都由鲸鱼先送到超级码头,然后再由“鲸鱼”从超级码头把货物送到目的地去。对应的技术来说,比如我们要把台式机的应用部署到笔记本上,我们可能选择用 QQ 发过去或者用 U 盘拷过去,Docker 就标准化了这个过程,我们只需在台式机上执行一个 Docker 命令,把“鲸鱼”派过来,把程序送到超级码头去,再在笔记本上执行一个 Docker 命令,然后由“鲸鱼”把程序从超级码头送到笔记本上去。
存储方式
当我们把程序存储到笔记本上时,我们需要一个目录,且我们要记住这个目录,因为下次我们可能还要修改。但使用 Docker 之后,我们就不用记住了程序在哪里了,使用的时候只需要一条命令就行了。
API 接口
Docker 提供了一系列 rest api 的接口,包含了对 Docker 也就是对我们的应用的一个启动停止查看删除等等。例如,当我们要启动 tomcat 时,我们要执行 startup 命令,当我们要停止时要执行 shutdown 命令,如果不是 tomcat,我们可能还需要一些别的命令;而使用 Docker 后,我们记 Docker 的命令就可以对其进行操作。
关于 Docker,要说的东西可就多了去了,上面只是稍微引入了一下什么是 Docker,以及 Docker 的设计思想是什么?毕竟我对 Docker 也不是很了解,先做一个引入,之后有机会会慢慢补充 Docker 怎么用等......
希望本文能够帮到你,如有错误,望指正!
我向你敬礼啊,Salute!