Docker K8s VM 简介

1. Docker 简介

  • Docker 是一种容器技术,将应用及其依赖打包成容器,便于跨平台部署与运行。
  • Docker 容器共享宿主机的操作系统内核,资源开销小,启动速度快。

2. Docker 在不同平台上的运行原理

  • 在 Linux 上,Docker 容器直接共享宿主机的 Linux 内核。
  • 在 Mac/Windows 上,Docker 通过虚拟机(如 HyperKit)间接提供 Linux 内核,容器实际上运行在这个虚拟机中。

3. Docker 容器内的应用安装与目录结构

  • 容器内应用安装方式与原生操作系统一致(如 CentOS 用 yum/dnf/rpm)。
  • 目录结构基本与原生系统一致,但容器镜像通常较精简,服务和文件较少。
  • 推荐用 Dockerfile 构建定制镜像以实现自动化部署。

4. 判断云服务器实例类型

  • 云服务商售卖的实例通常是虚拟机(如 KVM/Xen),不是 Docker 容器。
  • 可以通过 /.dockerenv 文件、/proc/1/cgroupdmidecode/proc/cpuinfo 等命令判断实例类型。
  • 容器服务(如 ACK、TKE、CCE)才会用 Docker 技术。

5. Kubernetes(K8s)与 Docker 的关系

  • Docker 负责容器打包和运行,K8s 负责容器的集群调度和管理。
  • K8s 早期直接用 Docker 作为容器运行时,后期转向 containerd、CRI-O 等更轻量的运行时,但依然兼容 Docker 镜像。

6. 虚拟机与 Docker 容器的区别

方面 虚拟机(VM) Docker 容器
隔离性 强(完整操作系统) 进程级,较弱
资源占用
启动速度 慢(分钟级) 快(秒级)
适用场景 传统应用、跨系统 微服务、云原生
灵活性

7. 总结建议

  • 虚拟机适合需要高度隔离、安全性高、跨操作系统的场景。
  • Docker 容器适合弹性伸缩、快速部署、微服务、持续集成等现代云原生场景。
  • K8s是容器集群编排平台,负责容器的自动化管理和调度。
  • 云主机一般是虚拟机,容器服务才用 Docker 技术。
相关推荐
不爱笑的良田1 小时前
从零开始的云原生之旅(十六):金丝雀发布实战:灰度上线新版本
云原生·容器·kubernetes·go
a***81395 小时前
Node.js 与 Docker 深度整合:轻松部署与管理 Node.js 应用
docker·容器·node.js
不爱笑的良田14 小时前
从零开始的云原生之旅(十二):从 Service 到 Ingress——K8s 服务暴露完全指南
云原生·容器·kubernetes
ringking12315 小时前
docker源文件配置以及密钥文件
运维·docker·容器
编织幻境的妖15 小时前
Docker和Kubernetes 常用命令
docker·容器·kubernetes
❀͜͡傀儡师17 小时前
docker-compose一键部署Hadoop集群
hadoop·docker·容器
java_logo18 小时前
BUSYBOX Docker 容器化部署指南
java·运维·python·nginx·docker·容器·运维开发
Linux运维技术栈21 小时前
从Docker到宝塔:Magento2 2.3.5 安装全流程踩坑与成功实践
运维·adobe·docker·容器·magento2
_abcdef21 小时前
Kubernetes 资源清单
云原生·容器·kubernetes