Technology and experience learned from THE DOCKER BOOK 1

前言

纵观IT行业历史,大的技术变革从来不是诞生于大厂商口中的金蛋,而是一小撮爱好者的小玩意儿,而Docker正是这个路子。 ——赵鹏,Hyper投资人
技术改变世界,科技成就未来。

THE DOCKER BOOK(书籍直译:第一本Docker书 澳 James Turnbull著)

  • 博文内容来自该书中的上手体会,本人将技术记录并分享 。
  • 博文将教会你简单的入门docker,并使用 docker gitlab等工具 构建Laravel项目各环境,达到提交代码 则自动部署的效果。

为什么使用Docker?

  • Docker 是可移植(跨平台)的,它可以在各主流系统上使用。Java可以做到“一次编译,到处运行”,而Docker则可以称为“构建一次,在各平台上运行”。从这一点可以毫不夸张的说,Docker是革命性的,它重新定义了软件开发、测试、交付和部署的流程。我们交付的不再只是代码、【配置文件、数据库定义等,而是整个应用程序运行环境:“OS+各种中间件、类库、应用程序代码”
  • 无论你是开发人员、测试人员还是运维人员,随着对Docker越来越深入的了解,你都会爱上他。我们只需要运行几条docker run就可以配置好开发环境,通过Dockerfile或者Docker Hub与他人分享我们的镜像,与其他服务集成,进行开发流程的自动化。

Docker提供一个简单、轻量的建模方式

  • Docker上手非常快,用户只需几分钟,就可以把最近的程序Docker化(Dockerize)。
    Docker 依赖于“写时复制”(copy-on-write)模型,使修改应用程序也非常迅速,可以说达到了“随心所至,代码即改”的境界。
  • 大多数docker容器只需不到一秒钟即可启动。由于去除了管理程序的开销,Docker容器拥有很高的性能,同时同一台宿主机中也可以运行更多的容器,使用户可以尽可能充分地利用系统资源。

我们走在容器化的大道上

  • 开发工程师开发、提交代码到代码服务器(github、gitlab等)。
  • 代码服务器通过webhook调用CI/CD服务,如Codeship、Shippable、CircleCi等 博文推荐使用gitlab的 CI/CD 。
  • CI服务器下载最新代码,构建Docker镜像,并进行测试。
  • 自动集成测试通过后,就可以将之前构建的镜像推送到私有Registry。
  • 运维使用新版本的Docker镜像进行部署(配置后,完全可以实现,推送代码,立即测试,测试完成,合并代码,按照分支立即发布正式或者测试环境)。

试想一下这种开发流程是不是很酷?除了工作流程的自动化之外,还能消除线上线下环境不一致导致的问题。以后“在我的机器上运行的好好的”这种托词应该再也没人相信了吧。

下一章,将会阐述以下内容

本作品采用《CC 协议》,转载必须注明作者和本文链接
chowjiawei
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

写的好啊,佬

2年前 评论
chowjiawei (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
测开 @ 新大陆数字技术股份有限公司
文章
76
粉丝
42
喜欢
238
收藏
410
排名:238
访问:4.0 万
私信
所有博文
博客标签
社区赞助商