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 技术。
相关推荐
唯情于酒8 小时前
Docker学习
学习·docker·容器
喵叔哟8 小时前
20.部署与运维
运维·docker·容器·.net
德育处主任11 小时前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
运维栈记13 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器
Joren的学习记录14 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
Hellc00714 小时前
Docker网络冲突排查与解决方案:完整指南
网络·docker·容器
hanyi_qwe14 小时前
发布策略 【K8S (三)】
docker·容器·kubernetes
眠りたいです15 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
德育处主任15 小时前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker