ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Docker 基础概念学习

Docker 基础概念学习 前言1. docker 的应用场景①微服务架构每个服务器独立容器化便于管理和扩展②CI/CD 流水线与Jenkins/GitLab CI 集成实现自动化构建和测试③开发环境标准化新成员意见启动全套依赖服务如数据库、消息队列④云原生基础Kubernetes 等编排工具基于 Docker 管理容器集群⑤开发环境标准化目前能接触到的作用2. 核心优势跨平台一致性解决 在我机器上能跑 的问题确保开发、测试、生产环境一致资源高效容器直接共享主机内核无需虚拟化整个操作系统节省内存和CPU快速部署秒级启动容器支持自动化扩容隔离性每个容器拥有独立的文件系统、网络和进程空间3. 核心概念容器它是镜像的运行实例当你运行一个镜像时Docker 就会基于这个安装包镜像启动一个软件容器可以基于同一个镜像启动无数个相互隔离的容器容器会消耗CPU和内存是真正干活的进程镜像只读的模版里面打包了运行一个软件所需的东西代码、运行环境、库、配置等等可以在电脑上拥有跟多个不同的 安装包镜像Dockerfile文本文件描述如何自动构建镜像例如指定基础镜像安装软件、复制文件等仓库存储和分发镜像的平台如Docker Hub官方公共仓库或私有仓库如Harbor可以把镜像想象成一个 安装包 而容器就是按照这个安装包启动起来的正在运行的 软件下面还会详细解释一、Docker 基础概念1. 什么是容器化技术容器共享主机内核轻量、隔离且高效不像虚拟机需要完整的操作系统上层是多个容器每一个容器独立运行一个应用中间层是Docker负责管理这些容器底层是主机操作系统和基础设置为容器提供硬件和系统支持1. 传统应用部署的痛点环境不一致应用在开发环境运行正常但在测试或生产环境出现问题依赖管理复杂不同应用需要不同版本的运行时、库文件等资源利用率低传统虚拟机需要完整的操作系统占用大量资源部署复杂需要手动配置环境安装依赖容易出错2. 容器化技术的解决方案环境标准化将应用及其依赖打包在一起确保任何环境中都能一致运行轻量化容器共享宿主机的操作系统内核比虚拟机更轻量快速部署容器可以在几秒内启动大大提高了部署效率可移植性一次构建到处运行3.容器化的核心理念容器化遵循不可变基础设施的理念应用和环境被打包成不可变的镜像每次部署都使用相同的镜像配置通过环境变量或配置文件注入问题修复通过重新构建镜像而非修改运行中的容器二、Docker 的核心概念1.镜像Image定义镜像是一个只读的模版包含了运行应用所需的所有内容代码、运行时库文件、环境变量和配置文件特点分层存储镜像是由多个层组成每一层代表一次修改只读性镜像本身是只读的不能直接修改可复用同一个镜像可以创建多个容器版本管理通过标签tag进行版本管理类比理解镜像就像是一个安装程序或者模版它定义了应用运行所需的一切但本身不能直接运行2. 容器Container定义容器是镜像的运行实例是一个轻量级、可移植的执行环境特点隔离性每个容器都有自己的文件系统、网络和进程空间临时性容器可以被创建、启动、停止、删除可写层容器在镜像基础上添加了一个可写层进程级容器内通常运行一个主进程类比理解如果镜像是类那么容器就是对象实例一个镜像可以创建多个容器就像一个类可以创建多个对象3. 仓库(Repository定义仓库是存储和分发镜像的地方可以包含一个镜像的多个版本分类公共仓库如Docker Hub,任何人都可以使用私有仓库企业内部搭建用于存储私有镜像官方仓库由软件官方维护的镜像仓库Registry VS RepositoryRegistry仓库注册服务器如Docker HubRepository具体的镜像仓库如 nginxmysql三、Docker 与虚拟机的区别1. 架构对比2. 容器 VS 虚拟机结构3. 使用场景对比虚拟机适用场景需要完全隔离的环境运行不同操作系统的应用需要硬件级别的安全隔离Docker容器适用场景开发环境标准化微服务架构CI/CD 流水线应用快速部署和扩展
返回列表