使用 Docker 搭建本地开发环境!
本地开发之痛苦
在开发之前,首先你需要安装各种开发工具和服务支持到你的开发环境当中,可能会出依赖问题
,环境变量问题
,端口冲突
,经编译库问题
等等。
开发途中,可能你又需要依赖一些其他的服务,你最好祈祷不会出问题,可能你又要重写来配置你的环境,因为你的所有的依赖服务都在你的唯一的工作空间里面。
如果你的伙伴的操作系统不统一,可能你还会遇到一些不同元字符解析不一致的问题。
然后上线之前,可能你在本地开发调试都可以完美运行,一但部署到服务器,就会出现各种问题。因为大多数情况下,我们的开发环境和生产环境并不相同。
可能你下次又有要用到一个新的开项目的开发环境。你又要重复面对上面这些问题.
你不得不去审视,你要话费大量的时间用在搭建环境当中来。
正巧,我在3A平台购买了云服务器,可以测试一下。
什么是Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。对我们而言,我觉得只需要把他理解成一个便携的应用容器 即可
Docker本地开发环境的好处
试错
对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵,正是得益于 Docker,让我们有可能在一条或者几条命令内就搭建完环境,而且这个环境大到一个特定版本的操作系统,小到一个软件。Docker 有一个傻瓜化的获取软件的方法,Docker后台会自动获得环境镜像并且运行环境。
统一开发和生产环境
对于一般的小公司来说,搭建一个公用的开发环境是一件不那么划算的事情。那么就可以用 Docker 来统一开发环境,因为不管你用的是 Windows、Mac 还是 Ubuntu。如果生产环境也使用的 Docker 的话,你甚至可以直接打包一套环境,直接丢上去就可以运行了,再也不用担心开发-生产环境之间的差异了。
高性能
虚拟机的粒度是虚拟出的机 ,而 Docker 的粒度则是被限制的应用 ,相比较而言 Docker 的内存占用更少,更加轻量级,性能也更优。</