欢迎来到《小5讲堂》,大家好,我是全栈小5。
这是2024年第x篇文章,此篇文章是《Docker容器》序列文章,博主能力有限,理解水平有限,若有不对之处望指正!
在实际工作中,实际上有接触过容器的概念,实战经验其实比较少,所以,以文章形式记录下自己的学习和理解过程,
从下面一张封面图就可以大概有直观的理解,巨鲸和集装箱。
目录
- 前言
- Logo理解
- Docker概述
- 代码开源
- 容器化技术
- 目标
- 优点
- 架构分离
前言
Docker容器对于博主来说其实接触的不对,特别是C#开发语言使用的多数是windows操作系统,实际上没什么实战经验,所以通过总结文章
Docker容器自2013年发布以来就迅速获得了广泛的关注和使用。
然而,真正让Docker容器流行起来的是在2015年左右,当时Docker公司推出了Docker Swarm集群管理工具和Docker Compose编排工具。
这些工具使得使用Docker容器更加容易,从而吸引了越来越多的用户和企业使用Docker来构建和部署应用程序。
此外,Docker容器也得到了云计算厂商的广泛支持,比如AWS、Microsoft Azure和Google Cloud等,这进一步推动了Docker容器的普及和应用。
Logo理解
这个logo挺有意思的,直观明了,既能够说明其含义,又有其美观性。
logo是一个巨鲸,它上面托运了很多集装箱,鲸鱼就是一艘货轮,相当于是一个平台,鲸鱼上面的集装箱就是容器。
集装箱容器里面装的就是各种东西,相当于不同的项目,而且集装箱与集装箱之间没有任何联系,它们是相互隔离的。
Docker概述
Docker是开源的容器化技术,它用于开发、交付、以及运行应用程序,由Docker公司开发并维护
Docker能够将应用程序与基础架构分开,从而可以快速交付软件。
借助Docker,可以以管理应用程序相同的方式来管理基础架构。
通过利用Docker的快速交付,测试和部署代码的方法,可以显着减少编写代码和在生产环境中运行代码之间的延迟。
Docker可以将应用程序打包成一个独立的容器,包括程序、依赖和配置文件等,
从而应用程序就可以在任何一台机器上运行,而无需担心环境差异和依赖问题。
Docker的优点是显而易见的,它可以帮助开发人员更加高效地构建、发布和运行应用程序。
使用Docker,可以轻松地搭建开发环境、测试环境和生产环境,同时还可以快速地部署和扩展应用程序。
代码开源
Github地址:https://github.com/docker/docker-ce
容器化技术
容器化技术是一种通过将应用程序及其所有依赖项封装在一个独立的运行环境中,以便于跨不同的计算环境进行部署和运行的方法。
目标
提供一种轻量级、可移植和可扩展的部署解决方案。
优点
1.轻量级
容器共享宿主操作系统的内核,因此启动和运行速度更快,占用更少的资源。
2.可移植性
容器是独立于底层环境的,可以在不同的操作系统、云平台和物理服务器上运行。
3.一致性
容器打包了应用程序和其依赖项,确保了环境的一致性,避免了“在我的机器上可运行”的问题。
4.可扩展性
容器可以按需进行水平扩展,以应对负载的增加。
5.安全性
容器提供了隔离的运行环境,阻止应用程序与其它容器或主机之间的相互影响。
架构分离
docker应用程序与基础架构分开,可以从以下几个方面来体现
1.应用程序和依赖项被打包成一个独立的容器,与底层基础设施分离。
2.应用程序的部署和运行无需关注和修改底层操作系统和硬件配置,只需要提供一致的Docker容器即可。
3.应用程序可以在多个不同的操作系统、云平台和物理服务器上运行,而无需任何更改。
4.应用程序开发人员和运维人员之间的职责变得更加明确。开发人员负责构建和打包应用程序到Docker容器中,而运维人员负责管理和部署Docker容器。
5.应用程序的部署和设置也可以自动化,由Docker管理工具如Docker Compose和Kubernetes等来实现。
由于docker可以分为开发和运维人员进行配合,交付速度自然会比一个人做完全流程的速度要快
总结:温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。