Docker

Docker

复制代码
Docker是一个开源的容器技术,用于将应用程序及其依赖项打包成一个可移植的、自包含的容器,以便在各种环境中运行。

1. Docker的概述

1.1 Docker为什么出现

个人理解

复制代码
开发了一个项目 可以在本机运行 但是如果版本更新 可能就会导致服务不可使用 后期我们维护起来就很繁琐 因为对于每一个机器 我们都得进行环境的部署呀 配置

比如:  我在window系统下开发了一个项目(jar+redis+ES+Kafka+...) 但是我现在准备部署到服务器上去  因为不能夸平台 所以我还得重新去按照配置环境什么的   但是docker 就可以让我们 直接将项目打包然后部署上线了  不用一个个单独去维护。
1.2 Docker与虚拟机技术的对比
  • 虚拟机技术:

    复制代码
    通过 软件 模拟的具有完整 硬件 系统功能的、运行在一个完全 隔离 环境中的完整 计算机系统 

    虚拟机的缺点:

    资源占用多、冗余步骤多、启动慢

  • 容器技术:

    复制代码
    容器化技术不是模拟的一个完整的操作系统 
    
    新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导 
    
    Docker有着比虚拟机更少的抽象层。
    docker利用的是宿主机的内核,vm需要是Guest OS
  • Docker和虚拟机技术的区别:

    • 传统的虚拟机,可以虚拟出一条硬件,运行一个完整的操作系统,在这个操作系统上安装和运行所需的软件
    • 容器内的应用可以直接运行在宿主 主机的内核中,容器没有自己的内核,也不用虚拟硬件 (轻便)
    • 每个容器是相互隔离的,每个容器内都有属于自己的文件系统,之间互不影响

2. Docker基本组成

  1. 容器(Container)

    • 容器是一种封装了应用程序及其依赖项的标准化单元。它们是独立、轻量的,能够在不同的计算环境中一致地运行。与虚拟机相比,容器共享主机操作系统的内核,更加高效和快速。
  2. 镜像(Image)

    • 镜像是一个只读模板,用于创建 Docker 容器。它包含了应用程序及其所有依赖项(如库、配置文件等),是容器运行的基础。镜像可以从 Docker Hub 等镜像仓库中获取,也可以由用户自己构建。
  3. Docker Hub

    • Docker Hub 是一个公共的镜像仓库,用户可以在上面查找、下载和共享镜像。它是 Docker 官方提供的一个在线资源库。

3. Docker运行流程

4. Docker底层原理

复制代码
Docker 是一个Client-Server结构的系统,Docker的守护进程运行在主机上。

通过Socket从客户端访问!

DockerServer 接收到Docker-Client的指令,就会执行这个命令!
相关推荐
名字还没想好☜8 小时前
用 systemd 托管后台服务:Restart 策略、日志接管、资源限制与开机自启全踩一遍
运维·docker·kubernetes
动力 continue9 小时前
docker容器大舞台,创建镜像,构造类,基础速通
docker·容器
乌恩大侠9 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi9 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
Akiyama_Mio-Kon9 小时前
2026 最新:Dify 本地 Docker 部署完整教程(Windows + Git Bash)
windows·git·docker
蜀道山老天师9 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
草邦设计开发团队_媒体资源平台9 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zhou lily9 小时前
非标自动化管理系统ERP如何选?2026年10大ERP软件对比分析
运维·自动化
mengge.cloud9 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
云贝贝贝10 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云