![]() 2017年,使用docker开发应用程序 过去的2016年,技术圈对使用docker的部署(deployment)探讨了很多,而大家都忽略了还可以使用docker进行开发(development )。 2017年,试试用docker开发应用程序吧。 为什么使用docker开发应用程序? 开发环境和部署环境完全统一,你的开发环境就是你的部署环境。开发环境测试ok,部署环境也不会出现问题; docker让你的电脑更加整洁。安装开发语言时会注册大量的信息,卸载时某些垃圾信息仍会残留。而一旦使用了docker进行开发,你可以和垃圾数据说再见了。 语言的版本切换将会更容易,而且可以多语言同时使用。语言版本的冲突向来是个棘手问题,某些优秀的语言版本管理工具,是不支持同时开启两个语言版本的。在你用python3的时候转到python2,需要操作太多,而使用docker,你只需要docker run。 IDE及各类编辑器仍然可以使用。能做到这一点依托于docker的目录挂载功能,你只需要将源代码目录挂载到docker内即可。在使用虚拟机时,用户需要完全进入到虚拟机内,而虚拟机操作系统的体验势必是比宿主机差一些的,这降低了开发效率。使用docker则完全不需要担心这点。 团队开发环境完全统一。团队成员的宿主机可以是windows、linux、osx,所有的人都将共享同一个操作系统,同一个开发环境,同一个版本库。开发环境的搭建是一个消耗企业时间的事情,docker帮你解决。 如何使用docker开发应用程序? 以下使用nodejs进行示例。 hello, docker 复制以下内容到app.js console.log('hello, docker'); 然后运行docker: docker run --rm -v "$(pwd)":/app -w /app nodejs:latest sh -c 'node app.js' 这个时候应该输出:hello, docker 这个docker在运行结束后会自动关闭(--rm),docker的这一特性也提供了按需使用的方式。 正式的开发环境可以选择supervisor(监听程序更改并重启node程序)代替node命令,并把-rm命令去掉,这样就只需要输入一次命令进行调试了: docker run -v "$(pwd)":/app -w /app nodejs-supervisor:latest sh -c 'supervisor app.js' 多说一句,生产环境不建议使用supervisor,建议使用pm2。 端口暴露 Web程序都是有端口的,使用docker仅需要一个-p命令进行暴露即可: docker run --rm -v "$(pwd)":/app -p 8080:8080 -w /app nodejs:latest sh -c 'node app.js' 有更好的集成方案吗? 有,福音计划(Gospel)提供了基于docker的云端开发、部署环境。 福音计划(Gospel)旨在推动云计算在计算机编程领域的应用。福音计划提供了线上集成开发环境(IDE)和docker容器云部署服务。IDE中包括文件管理器、Linux远程终端、代码编辑器、Git版本控制、在线调试以及小程序可视化设计器等功能。容器云包含了二级域名绑定、应用一键部署(discuz/wordpress/phpwind...)、自定义CPU、内存、存储空间以及资源监控等功能。 目前,IDE支持的语言及框架有: HTML5:Angularjs1/2、Vuejs1/2、Reactjs、Bootstrap1/4 Nodejs:4.4/6.9、koa1/2、express PHP:5、laravel、thinkphp 微信小程序前端可视化设计器 IDE中的Linux命令行终端目前仅支持ubuntu。 容器云支持的快速部署服务有: discuz phpwind wordpress 容器云尚不支持一级域名绑定。 福音计划的使命是解放开发者生产力,我们想把一切或重复或复杂的开发流程搬到云上,帮助你一键或用尽可能少的步骤完成任务。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|