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/cgroup、dmidecode、/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 技术。
相关推荐
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS3 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
玉&心3 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing3 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
赵文宇(温玉)3 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang3 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren3 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
羑悻的小杀马特3 天前
Dockerfile 全景指南:从入门编写dockerfile到生产环境镜像优化实战,一步步带你从啃透制作指令到镜像制作落地!
docker·dockerfile·镜像制作
BianHuanShiZhe3 天前
docker常见命令
docker
正经教主3 天前
【FDE系列】阶段2:Day 43:Docker Compose — 多容器一键编排
人工智能·docker·fde