CI/CD-云原生技术栈概览-Docker
云原生:一种基于云计算技术构建和运行应用程序的方法论,目标是充分利用云计算环境,以实现应用程序的高可用性、易扩展性和敏捷迭代。
主流云原生应用技术栈:云计算提供运行环境,Docker让应用“打包”和“运行”变得简单一致,而Kubernetes则让管理大规模Docker容器变得自动化、智能化。
| 云计算 |
通过网络按需、可配置地共享计算资源的模式。 计算资源:包括网络、服务器、存储、应用和服务 |
IaaS (基础设施即服务):提供最底层的计算、网络、存储资源 PaaS (平台即服务):提供应用开发和部署的平台(如操作系统、数据库、开发工具) SaaS (软件即服务):直接提供可直接使用的应用软件。 部署形式:公有云(第三方提供商)、私有云(企业内部) |
||||||
| Docker |
一种容器技术 通过容器化技术,将应用及其所有依赖打包进一个轻量级的、可移植的容器中 软件运行不再关心环境问题:搭建一次,到处能用 |
镜像 (Image):一个只读的模板,包含了运行应用所需的一切(代码、库、环境变量等)。 --(容器的静态模板),仓库(Repository):存储和分发镜像 容器 (Container):镜像的运行实例。它是一个轻量级的、独立的可执行软件包。 --(镜像的运行实体) 运行的容器组成:静态容器+独立的进程空间+其中运行的进程 |
||||||
| Kubernetes/K8s |
一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。 |
主要功能: 服务发现和负载均衡:自动将流量分配到健康的容器上。 自动伸缩:根据CPU使用率等指标,自动增加或减少容器的副本数。 自我修复:当容器失败时,自动重启;当节点宕机时,自动将容器重新调度到其他节点。 滚动更新和回滚:发布新版本时,逐步替换旧容器,如果出错则自动回滚。
|
||||||
| 虚拟机技术 |
包括KVM、Vmware、Hyper-V、Xen等 |
|
Docker使用
- 典型工作流
- docker build -t my-app . (构建镜像)
- 实际过程:以当前目录为上下文,读取其中的 Dockerfile 文件,并按照其指令构建一个名为 my-app 的镜像
- docker run -d -p 8080:80 my-app (运行容器,映射端口)
- docker ps (查看运行中的容器)
- docker stop <container-id> (停止容器)
- docker push my-app (推送镜像到仓库)
- docker build -t my-app . (构建镜像)
|
创建容器 1、编写应用代码 2、创建Dockerfile:描述应用的,如何运行、运行所需内容等 3、对该Dockerfile执行docker build 命令 --将应用与运行需要的内容打包为镜像 4、运行该镜像,生成容器并在运行里面的程序 |
关系图
|
||||||||||||||||||||
|
操作镜像
|
操作容器
|
本文来自博客园,作者:Fēngwèi,转载请注明原文链接:https://www.cnblogs.com/fengwei-blogs/p/20774598


浙公网安备 33010602011771号