Docker基础学习day01
介绍
由于项目和自身需要,开始学习Docker,作为一款开源的应用容器引擎,是基于go语言进行开发实现的。Docker是一个用于开啊、交付和运行应用程序的开放平台,将应用程序与基础架构分开,从而可以快速交付软件。利用dockrt来快速交付、测试和部署代码,从而减少编写代码和在生产环境中运行代码之间的延迟。
Docker的作用是将自身的应用和依赖包打包到轻量级、可移植的容器当中,然后进行发布,发布到LInux机器中,也可以实现虚拟化。
Docker的好处之一是作为一个容器,使用沙箱机制(沙箱就是一个限制应用程序对系统资源的访问的运行环境,为程序提供一个受限 的运行环境)。相互之间不会有任何接口,对于企业来说,更重要的好处就是性能开销极低。
前提条件
需要掌握Linux的常用命令。这部分可以见我的linux学习模块。
应用场景
- Web应用的自动化打包和发布 ;
- 自动化测试和持续集成、发布 ;
- 在服务型环境中部署和调整数据库或其他后台应用 ;
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境 ;
优势
1.快速,一致地交付应用程序。允许开发人员使用自身提供的应用程序或服务的本地容器在标准化环境中工作,简化开发生命周期。
例如:
- 开发人员在本地编写代码,并使用docker与其他同时共享工作;
- 使用docker将其应用程序推送到测试环境中,并执行自动或手动测试;
- 对出现错误的部分,可以在开发环境中修改,然后重新部署到测试环境中,进行测试和验证;
- 测试完成后,将修补程序推送到生产环境,就像更新镜像一样方便。
2.响应式部署和扩展。
- 作为容器,具有高度可移植性。可以在开发人员本机、数据中心的物理或虚拟机上、云服务上或整个混合环境中运行。
- 根据业务需求,动态完成管理的工作负担,实时扩展和拆除应用程序和服务。
3.在同一硬件上运行更多工作负载。由于docker的轻便,所以适合在高密度和中小环境中部署,用更少的资源做更多的事情。
相关链接
docker官网:https://www.docker.com