《容器化基础知识》课件.docx
《《容器化基础知识》课件.docx》由会员分享,可在线阅读,更多相关《《容器化基础知识》课件.docx(20页珍藏版)》请在优知文库上搜索。
1、容器化基础知识1.基础知识随着云计算和大数据时代的到来,传统的服务器架构已经不能满足现代应用的需求,为了更好地支持应用程序的开发、测试、部署和运行,出现了很多新型的虚拟化技术,其中最流行的技术之一就是Docker容器技术。DoCker是一个开源的容器技术,它可以帮助开发者在物理机或虚拟机上创建、部署和运行应用程序,同时提供了更高的效率、可靠性和安全性。在Docker容器中,每个应用程序都是隔离的,可以依赖于不同的软件和库进行运行,这使得开发人员能够在同一台设备上运行多个应用程序,而不必担心它们之间的干扰、依赖和安全问题。1.1. Docker的核心概念和术语D。Cker容器技术是一个非常灵活和
2、可配置的系统,它包含了很多核心概念和术语,例如:镜像(image):Docker容器的基础模板,一个镜像包含了一个应用程序运行所需的所有文件、库和配置信息,可以用来创建一个或多个Docker容器。容器(Container):DOCker镜像的运行实例,一个容器可以被视为一个小型虚拟机,在其中运行单个应用程序,容器之间是独立且相互隔离的。仓库(registry):用于存储和管理Docker镜像的地方,DockerHub是最常用的公共仓库,但也可以搭建私有仓库。Dockerfile:通过编写一份Dockerfile文件,可以自动化构建一个Docker镜像,并配置应用程序的环境和依赖。DockerC
3、ompose:一种工具,可以通过编写一个docker-compose.yml文件来管理多个容器,并定义它们之间的网络和协作关系。1.2. 使用Docker的优势和注意事项D。Cker容器技术具有以下优势:1、容器具有不可变的特性。容器将操作系统、程序库、配置文件、路径和应用程序打包在一起运行,也就是说,我们在做QA测试的时候整个镜像是什么样,投入到产品环境以后就是什么样,其性能不会有彳不可差距。2、容器都非常轻量。单个容器的内存占用很小,不像其他进程动辄占用上万MB的内存空间,容器只会给主进程分配内存,可以有效降低系统开销。3、容器的速度更快。虚拟机的启动时间一般都在分钟级,容器的启动速度可以
4、达到秒级,启动容器就跟启动IinUX进程一样快。虽然容器的好处这么多,但是有很多用户还不了解,还认为容器跟一般的虚拟机没什么差别。实际上,容器是可销毁的,这是容器跟虚拟机之间最大的差别。容器的存在周期很短,只要用户使用完毕,就可以立即销毁容器,所以用朝生暮死来形容也不算过分。在使用Docker的过程中,需要注意以下事项:1)不要将数据储存在容器中。容器随时都可以停止、销毁或迁移,比方说,一个容器里运行的应用版本是1.0,我们分分钟就可以把这个应用升级到1.1同时还不会对数据造成任何影响。所以如果用户想要存数据的话,最好是用数据卷来存储。不过在用卷存数据的时候大家还是要注意一点,如果有两个容器共
5、用一个数据卷,都往里面写数据的话,是有可能造成程序崩溃的。我们在设计应用程序的时候应该考虑到这一点,为保万无一失,应用程序应该具备特定的机制,以确保在往共享数据存储区写入数据的时候不会出错。2)不要把应用程序分块交付。在部分用户看来,容器跟虚拟机没什么两样,所以有些人往往会把应用程序部署到当前运行的若干个容器中。这种做法在开发阶段没有太大的问题,因为做开发的时候我们会很频繁地进行部署和调试,但是到了持续交付(CD)阶段,下一步就是QA测试和正式投产了,这种做法就不太适合了。在这一阶段,我们应该充分考虑到容器的不可变特性,最好是将应用程序打包到一个镜像中交付。3)不要把镜像体积建得很大。镜像越大
6、,就越难发布。镜像中只包含必要的文件和Iibrary就可以了,能让应用或者进程运行起来就行。千万不要在镜像中安装些没必要的东西,在构建镜像的时候要避免使用yum这种update命令,免得系统自动下载很多不相干的文件到新镜像层中。4)建镜像的时候不要只建一层。大家都知道,Docker的文件系统是分层的,在建镜像的时候我们应该这么建,将操作系统单独建一层,作为基础镜像,然后用户名定义文件、运行时安装环境、配置文件都要分别建一层镜像,最后才是应用镜像层。这么做的话,我们以后重建、管理以及发布镜像的时候就要轻省得多了。换句话说就是创建镜像的时候不要用wdockercommit命令来创建。用这种办法建镜
7、像是完全不可取的,因为这种办法是不能重复的。我们在建镜像的时候应该从Dockerfile创建,或者用其他S2I(从源文件构建镜像)的方式来创建,这样镜像才具有可再生性,而且如果我们把镜像存在git之类提供版本控制能的系统里的话,还可以对Dockerfile的改动进行跟踪。6)给镜像打tag的时候不要只打TateSlatest其实就相当于Maven里头的快照。因为容器的文件系统是分层的,我们最好是给镜像多打几个tago如果只有latest的话,可能过段时间我们再来运行应用程序的时候就发现程序运行不起来了,因为应用的父层(就是Dockerfile里面的跟在FROM命令后面的那一层)被更新的版本覆盖
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 容器化基础知识 容器 基础知识 课件
