免费做游戏小程序的网站网站源码 预览
2026/1/11 16:57:58 网站建设 项目流程
免费做游戏小程序的网站,网站源码 预览,视频直播间话术,wordpress 转 app1. Docker发展与简介1.1 云服务与虚拟化基础1.1.1 云服务模型介绍云计算 是通过网络为用户提供可伸缩的计算资源。云服务通常分为以下几种类型#xff1a;IaaS#xff08;基础设施即服务#xff09;提供虚拟化计算资源#xff08;如虚拟机、存储、网络等#xff09;。用户…1. Docker发展与简介1.1 云服务与虚拟化基础1.1.1云服务模型介绍云计算是通过网络为用户提供可伸缩的计算资源。云服务通常分为以下几种类型IaaS基础设施即服务提供虚拟化计算资源如虚拟机、存储、网络等。用户可以灵活配置自己的计算环境负责安装操作系统、管理资源等。优点灵活度高、可扩展性强。缺点管理复杂需要较多技术支持。PaaS平台即服务提供一个开发平台用户可以在上面开发应用程序而无需关注底层硬件或操作系统。优点简化开发过程适合开发者。缺点灵活度较低可能受到平台限制。SaaS软件即服务提供已经构建好的应用程序用户可以直接使用无需安装和维护。优点快速部署省时省力。缺点定制化差依赖于服务提供商。DaaS数据即服务提供数据处理和分析服务用户可以访问、分析云端存储的大数据。优点降低用户管理数据的难度。缺点可能涉及数据隐私问题。1.1.2常见云服务提供商阿里云、腾讯云、AWS、Google Cloud、华为云等是市场上主要的云服务提供商。云服务提供商通常提供各种服务如存储、计算、网络、CDN 等。1.2 虚拟化技术概述1.2.1虚拟化基础虚拟化类型全虚拟化虚拟化软件完全模拟硬件环境允许多个操作系统共享硬件资源彼此之间相互独立。适用场景需要兼容多个操作系统如 Linux 与 Windows 同时运行的环境。半虚拟化虚拟机与宿主操作系统协作通过修改操作系统内核来提高性能。 急需架构适用场景高性能需求的环境尤其是优化了开源操作系统如 Linux的虚拟化。虚拟化产品VMware广泛使用的企业级虚拟化平台支持全虚拟化和半虚 拟化。 企业版 mac fusionEXSI企业版 vsphere workHyper-V由微软推出的虚拟化平台集成于 Windows Server 中。VirtualBox适用于个人和开发者的虚拟化产品跨平台支持Linux、macOS、Windows。1.3 Docker简介及其重要性1.3.1. 为什么使用 DockerDocker 是一种容器化技术它使得开发者可以将应用及其依赖打包到一个标准化的容器中从而在任何环境下都能一致地运行。这个概念类似于将应用放入一个容器集装箱无论容器被移动到哪个环境它都能保持原有的运行状态。容器技术相比传统的虚拟化技术如 VMware具有显著优势。传统虚拟化需要在每个虚拟机中运行完整的操作系统资源消耗大而 Docker 仅在宿主操作系统上运行多个隔离的容器不需要完整的操作系统大大减少了系统开销和资源浪费。通过 Docker应用可以更轻松地实现跨平台部署和运行。举个例子一辆兰博基尼应用程序被装进集装箱容器可以在不同的操作系统上如 CentOS 到 Ubuntu无缝迁移确保应用始终以相同的方式运行。1.3.2 Docker 发展历史Docker 是由 Solomon Hykes 和他团队在 2013 年从 DotCloud 开始开发的。它的最初目标是利用容器技术提供一种新的应用部署方式。Docker 从一开始就有了强大的生态系统和社区支持迅速发展并成为全球最流行的容器化平台。主要的发展节点包括2013年Docker 项目发布2014年Docker 公司成立2015年Docker 发布了重要的版本 1.8引入了新的网络架构和卷管理2017年发布了 Docker Enterprise Edition企业版和 Docker Community Edition社区版并开始了时间驱动的版本发布。2018年Docker 18.09发布加入了新的构建功能和改进的性能重点是多阶段构建Multi-stage Builds和新的容器日志功能。Docker 的Kubernetes 集成开始推出了 Docker Desktop 中的 Kubernetes 支持使得开发者可以在本地轻松使用 Kubernetes 来部署和管理容器。2019年Docker 19.03发布新增了对GPU 加速的支持以及Docker CLI的改进。此外Docker 为 Kubernetes 提供了更好的支持。Docker Desktop的更新增强了与 Kubernetes 的集成支持在 Windows 和 macOS 上直接运行 Kubernetes 集群。Docker 提出了Docker Desktop for Windows 和 macOS为开发者提供了一个跨平台、统一的开发环境结合了 Docker 引擎和 Kubernetes。2020年Docker 20.10发布新增了对Docker Compose v2的支持并在性能、功能和稳定性方面进行了一系列增强。Docker 宣布将Docker Swarm和Kubernetes的集成进行区分Kubernetes 成为 Docker 引擎推荐的容器编排工具。Docker 开始更加聚焦于开发者工具而逐渐减少对企业级 Kubernetes 的直接支持特别是在容器编排方面。2021年Docker 进一步优化了其本地开发工具使得开发者能够更容易在本地环境中使用容器和 Kubernetes 进行集成。Docker Hub和Docker Desktop的改进使得 Docker 的云端镜像存储和本地开发环境更加流畅。2022年Docker 继续加大对开发者体验的关注推出了对GitHub等工具的深度集成帮助开发者快速构建和部署容器。在企业领域Docker 企业版继续被 Kubernetes 和其他工具组合使用尤其是对于CI/CD和DevOps环境中的大规模部署。2023年Docker 23.x发布进一步增强了对云原生应用的支持特别是对 Kubernetes 生态系统的集成增强。Docker 在容器优化、安全性和持续集成/持续交付CI/CD方面继续推出新功能提升了企业级应用部署的效率和安全性。Docker 提供了更多对开源和社区驱动的工具的支持力求保持其在容器生态中的主导地位。1.3.3 Docker 版本CE vs EEDocker 提供了两个主要版本Docker Community Edition (CE)适用于个人开发者或小型团队提供基本的容器功能免费使用。Docker Enterprise Edition (EE)适用于大规模生产环境强调企业级的安全性和支持通常是付费版本。每个版本的发布周期不同CE 通常每个月发布新版本而 EE 版本则会有更长的维护周期。1.3.4 Docker 与传统虚拟化的区别Docker 通过操作系统级虚拟化LXC提供轻量级的虚拟化容器之间共享宿主机的操作系统内核因此相比传统虚拟机Docker 容器更加轻便、高效。传统虚拟机每个虚拟机都包含完整的操作系统资源占用大。Docker 容器共享宿主操作系统的内核启动快占用少易于管理。特性Docker 容器虚拟机启动速度秒级分钟级计算能力损耗几乎无损耗 50%左右性能接近原生弱于系统支持量单机上千个几十个隔离性资源隔离/限制完全隔离1.3.5 容器化技术的生态系统容器技术是一种轻量级、提供隔离的虚拟化技术。这里是一些知名的容器技术Docker市场上最为知名和流行的容器框架之一拥有生态系统完善且社区活跃的优秀特点。它通过简单的工具和接口使得应用程序的部署于测试过程更为简单。KubernetesGoogle 开发并开源的容器编排平台可以管理、调度和扩展容器的应用。OpenShift是 Red Hat 提供的开源的容器平台基于 Kubernetes但提供了更丰富的功能。LXC Linux 容器技术比 Docker 更接近传统的虚拟化技术可以看作是轻量级的 VM虚拟机。Rkt由 CoreOS 开发的一种容器技术设计上有别于 Docker它更注重于安全性和模块化。Apache Mesos一种用于大规模数据中心的容器编排平台特别地它可以与其他调度系统如 Marathon、Chronos 或 Jenkins 集成。Containerd是一个开源的容器运行时是 Docker 的核心组件之一可用于管理完整的容器生命周期。Crio是一个轻量级的容器运行时专门用于 Kubernetes。Singularity一款专注于面向性能敏感和计算密集型应用程序的容器技术。Podman与 Docker 相似但无需守护进程支持运行和管理 OCI 容器和镜像。1.3.6 Docker 容器的优势移植性应用和其依赖打包在容器中跨平台和跨环境运行无缝。隔离性容器内的应用互相隔离不会影响宿主机或其他容器。效率高由于不需要完整的操作系统容器消耗的资源少启动速度快。简化部署通过 Docker可以轻松创建、复制、修改和删除容器简化了应用部署和管理的复杂度。1.3.7 容器技术的应用场景CI/CD持续集成与持续交付利用 Docker 快速构建和部署应用保证开发、测试、生产环境的一致性。微服务架构容器技术与微服务架构相得益彰可以独立部署和扩展每个微服务。多云与混合云环境容器跨平台能力使得应用能在不同云环境和本地环境间无缝迁移。1.4 Docker 基础概念① Docker 的 Logo 设计Docker 的 Logo 设计为一条蓝色鲸鱼拖着许多集装箱。鲸鱼代表宿主机集装箱代表相互隔离的容器每个集装箱中都包含自己的应用程序。Docker 的设计宗旨Docker 的设计宗旨是Build, Ship and Run Any App, Anywhere。通过对应用组件的封装、发布、部署、运行等生命周期的管理达到应用组件级别的“一次封装到处运行”的目的。这里的组件可以是一个应用、一套服务甚至是一个完整的操作系统。鲸鱼背上有集装箱 蓝色的大海里面--------宿主机系统window10/linux 鲸鱼 ---------- docker 集装箱 ---------容器实例 from 来自我们的镜像模板Docker是一个开源的容器化平台能够让开发者将应用及其依赖环境打包成容器从而简化跨平台的部署和管理。Linux 六大命名空间命名空间缩写作用效果MNT挂载文件系统隔离每个命名空间可以有自己的文件系统挂载点NET网络网络资源隔离每个命名空间可以有自己的网络栈包括网络接口、路由表等PID进程进程号隔离每个命名空间有自己独立的 PID 编号空间IPC间通进程间通信隔离每个命名空间有自己独立的 System V IPC 和 POSIX 消息队列UTS主机主机名、域名隔离每个命名空间可以有自己的主机名和域名USER用户用户名、组名隔离每个命名空间可以有自己的用户和组 ID 映射Docker架构以及组件Docker daemon(Docker守护进程) Docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程。可通过Docker客户端与之通信。Client(Docker客户端) Docker客户端是Docker的用户界面它可以接受用户命令和配置标识并与Docker daemon通信。图中docker build等都是Docker的相关命令。Images(Docker镜像) Docker镜像是一个只读模版它包含创建Docker容器的说明。它和系统安装光盘有点像—使用系统安装光盘可以安装系统同理使用Docker镜像可以运行Docker镜像中的程序。Container(容器) 容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中类和对象的关系。可通过Docker API或者CLI命令来启停移动删除容器。Registry Docker Registry是一个集中存储与分发镜像的服务。构建完Docker镜像后就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像就需要手动复制。此时可借助Docker Registry来避免镜像的手动复制。一个Docker Registry可包含多个Docker仓库每个仓库可包含多个镜像标签每个标签对应一个Docker镜像。这跟Maven的仓库有点类似如果把Docker Registry比作Maven仓库的话那么Docker仓库就可理解为某jar包的路径而镜像标签则可理解为jar包的版本号。④ Docker 组成⑤ Docker 的核心技术Docker 容器本质上是宿主机的一个进程通过以下技术实现资源隔离和限制Namespace实现资源隔离。Cgroup实现资源限制。写时复制技术Copy-on-Write实现高效的文件操作。1.4.2Docker 核心概念重点镜像Image镜像是包含应用程序及其所有依赖环境的可执行包。它是一个只读模板基于该模板可以创建容器实例。容器Container容器是镜像的运行实例。容器提供了与外部环境隔离的运行时环境可以在不同的系统上运行。容器通过 Docker 引擎启动具有独立的文件系统、网络、进程空间。仓库Repository仓库是存放 Docker 镜像的地方。Docker Hub 是最常用的公共仓库用户也可以创建私有仓库1.4.6 Docker安装与配置CentOS 7示例镜像是Docker的基础所有容器都基于镜像创建以下是常用的镜像操作命令。Docker 目前仅支持 64 位系统。关闭防火墙和 SELinuxsystemctl stop firewalld.service setenforce 01安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2 - yum-utils提供了 yum-config-manager 工具。 - device-mapperLinux 内核中支持逻辑卷管理的通用设备映射机制。 - device-mapper-persistent-data** 和 **lvm2**device-mapper 存储驱动程序所需的依赖包。2.设置阿里云镜像源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3安装 Docker-CE 并设置为开机自动启动yum install -y docker-ce docker-ce-cli containerd.io 注意如果是指定版本docker-ce-20.10.18 systemctl start docker.service systemctl enable docker.service #开机自启 - Docker 系统包含两个程序Docker 服务端和 Docker 客户端。 - Docker 服务端是一个服务进程负责管理所有容器。 - Docker 客户端是 Docker 服务端的远程控制器用于控制 Docker 服务端进程。基本命令docker --version查看 Docker 版本。docker info查看 Docker 系统信息。2. Docker 容器管理镜像是Docker的基础所有容器都基于镜像创建以下是常用的镜像操作命令。2.1.1 搜索镜像从Docker Hub搜索镜像示例1 # 搜索nginx镜像 2 docker search nginx2.1.2 拉取镜像从仓库下载镜像到本地示例docker pull nginx作用从 Docker Hub 拉取nginx镜像默认下载最新latest版本。如果你不指定标签tag则会下载默认的latest标签的镜像。2.1.3 镜像加速下载华为加速器# tee /etc/docker/daemon.json -EOF { registry-mirrors: [https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com] } EOF { registry-mirrors: [https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com] }2.1.4 查看镜像信息cat /var/lib/docker/image/overlay2/repositories.json查看本地所有镜像2.1.5 获取镜像详细信息docker inspect 镜像ID作用获取指定镜像通过镜像 ID详细信息。此命令返回一个 JSON 格式的详细信息包括镜像的层次、历史记录、配置、大小等。2.1.6 为本地镜像添加标签为了后期做迭代#格式docker tag 名称:[标签] 新名称:[新标签] docker tag nginx:latest nginx:web docker images | grep nginx作用为本地的nginx:latest镜像添加新的标签nginx:web这并不会创建新的镜像而是为同一个镜像附加了新的标签2.1.7 删除镜像格式 docker rmi 仓库名称:标签 #当一个镜像有多个标签时只是删除其中指定的标签 或者 docker rmi 镜像ID号 #会彻底删除该镜像 注意如果该镜像已经被容器使用正确的做法是先删除依赖该镜像的所有容器再去删除镜像。 docker rmi nginx:web 强制删除 rmi-f作用删除指定标签的镜像。注意如果镜像有多个标签删除指定标签不会删除镜像本身只有在没有其他标签和容器依赖的情况下才会彻底docker load nginx.tar除镜像。如果镜像正在被容器使用需要先删除容器2.1.8 存储镜像导出docker save -o nginx.tar nginx:latest作用将本地镜像nginx:latest保存为 tar 包nginx.tar。这可以用于镜像备份或迁移。2.1.9 载入镜像导入docker load nginx.tar作用从本地 tar 文件中加载镜像。你可以将导出的镜像文件通过此命令重新加载到 Docker 中。2.1.10 上传镜像到 Docker Hub 这里上传到阿里云

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询