由于我的服务器所运行的ubuntu版本很旧,在尝试做升级比较麻烦之后,我放弃了升级并且重新完全彻底地安装了ubuntu18.04版本。此时对应的环境和部署工具就以及没有了,全部需要重新安装。这个时候非常耗费力气。
这个时候,我的目光盯上了之前一直很火的Docker。曾经尝试过Docker,但是没想到Docker还是远远超出了我的预期。不仅仅在部署上面实现了非常干净的隔离部署,而且在开发的过程中,我也采用了docker来做运行,使得我的开发环境也变得很干净,没有什么冗余。
由于我的博客是采用了hexo + next来作为支撑的,所以在我的新电脑上面需要安装node.js, hexo, 以及next主题。虽然我的博客之前在其他地方也会做备份,但是开发环境仍然需要在我的电脑上面重新配置。这个非常繁琐,而且会造成系统不干净。于是我安装了docker,并且直接找到了一个支持hexo的镜像,此时我把它pull下来之后,启动了容器,并且挂载了我的博客目录之后,此时便相当于在docker中通过交互的方式,运行docker中的hexo来生成我的外部目录的博客。而我的外部仍然是干净的,宿主本身没有安装任何的node.js和hexo相关的内容。假如以后不想要这个开发环境了,我只需要把相应的image删掉就可以了,非常非常地方便又干净。
同样,我甚至可以把当前的环境做成新镜像。这样无论我怎么新安装我的电脑,只要把这个最新的镜像下载下来,我就可以非常方便地直接进入我的开发环境。超级赞。
在博客部署上面,Docker也起到了非常好的效果。因为之前部署是使用的nginx,配置极其复杂,非常繁琐。后来我使用了docker来pull了一个nginx的官方镜像,然后写好相应的conf之后,通过文件挂载的方式运行了nginx,整个过程的配置非常容易,而且也同样异常干净,不需要再安装太多的东西,只要有了docker就可以了。
除了重新把博客搭建好之后,我后来又使用docker搭建了gogs,一个非常省资源的git托管服务。gogs的安装过程中又需要数据库的支持,我又很方便地通过使用docker搭建了mysql服务器。
现在我的开发和部署均依靠了docker,并且非常地方便,整个开发和部署过程都可以很容易地进行。
未来可能会更多地使用docker。