Docker实战-第一章欢迎来到Docker世界

Docker基础

什么是Docker

docker是包括一个命令行程序、后台守护进程和一组远程服务,它简化了安装、运行、发布和删除软件的工作。docker实现的基础是UNIX的容器技术。所以在docker出世之前已经有容器的概念,而且像谷歌一类公司也在探索自己的容器,docker将容器技术提供了更为简便的容器实现。

什么是容器

容器是指隔离应用程序与外部资源的运行环境。最开始使用容器仍需要手动配置,非常容易出错。docker基于现有容器引擎,根据最佳实践提供了一致的docker构建方案。

docker与容器的关系

docker不提供容器技术,但使用docker可以更方便的得到一个容器,docker构建的容器也称为docker容器。

容器与虚拟化的区别

虚拟化是利用虚拟机提供虚拟硬件,然后安装操作系统和发布软件,两个虚拟机之间的操作系统互相隔离。docker不需要虚拟硬件和安装操作系统,所以拉起特别快。docker容器里的应用程序还是直接运行在主机上,docker只是利用Linux的NameSpace和Cgroups技术做了隔离与限制的"障眼法"。

Hypervisor:硬件虚拟化层

Docker Engine:docker引擎

容器的隔离

容器的隔离包括8个方面

  • PID命名空间------进程标识符和能力
  • UTS命名空间------主机名与域名
  • MNT命名空间------文件系统访问和结构
  • IPC命名空间------通过共享内存的进程间通信
  • NET命名空间------网络访问和结构
  • USR命名空间------用户名和标识
  • chroot()------控制文件系统根目录位置
  • cgroups------资源保护,限制进程组使用的cpu内存上限

docker容器镜像分发

容器的隔离与限制是由linux的Namespace、cgroups和chroot实现的,那docker解决了什么问题呢?实际上docker解决的容器的打包、分发、运行,这些也是最困扰开发者的事情。正因如此,docker对开发者友好,让他受到了更多地青睐。

相关推荐
海岛日记1 小时前
centos一键卸载docker脚本
linux·docker·centos
小袁搬码3 小时前
Windows中指定路径安装DockerDesktop
windows·docker·容器·docker desktop
qq_312920113 小时前
docker 部署 kvm 图形化管理工具 WebVirtMgr
运维·docker·容器
踏雪Vernon3 小时前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
条纹布鲁斯4 小时前
dockerdsktop修改安装路径/k8s部署wordpress和ubuntu
docker·kubernetes
工业3D_大熊6 小时前
3D可视化引擎HOOPS Luminate场景图详解:形状的创建、销毁与管理
java·c++·3d·docker·c#·制造·数据可视化
szc17676 小时前
docker 相关命令
java·docker·jenkins
CP-DD6 小时前
Docker 容器化开发 应用
运维·docker·容器
Stark-C6 小时前
万物皆可Docker,在NAS上一键部署最新苹果MacOS 15系统
macos·docker·策略模式
老司机张师傅6 小时前
【微服务实战之Docker容器】第七章-Dockerfile解析
容器·dockerfile·虚悬镜像·docker学习