Docker简介

22 篇文章 0 订阅
14 篇文章 0 订阅

原文链接:Docker简介-WorkMap技术博客

Docker简介

Docker是什么

Docker是一个用于构建、发布和运行程序的开源平台,借助操作系统提供的容器技术,简化了安装、运行、发布和删除软件的过程,同时提供了一套使用容器技术的最佳实践。Docker可以帮助你将应用程序与基础设施分离,以便快速交付软件。使用Docker,你可以像管理应用程序一样管理基础设施。
Docker由一个命令行程序、一个后台引擎进程和一组远程服务组成。
在这里插入图片描述

容器及Docker容器

2005年,Sun公司发布Solaris 10和Solaris容器,“容器”成为描述特定运行时环境的术语。它提供了一些列容器技术,用于限制进程访问的文件系统以及硬件资源,使软件进程运行于独立的命名空间中,实现软件进程间的独立环境。
一个容器是一种标准的软件单元,它将代码和所有依赖项打包起来,使应用程序能够在不同的计算环境中快速、可靠地运行。Docker容器镜像是一个轻量级、独立的可执行软件包,包括运行应用程序所需的所有内容:代码、运行时、系统工具、系统库和配置。容器镜像在运行时变成容器,在Docker容器中,镜像在运行于Docker引擎时变成容器。无论是Linux还是基于Windows的应用程序,容器化软件始终会以相同的方式运行,而不受基础设施的差异影响。容器将软件与其环境隔离开来,并确保它在不同环境中(开发环境和部署环境)的表现是一致的。
Docker容器技术于2013年作为开源Docker引擎推出。它封装了当时的容器技术,最初是Linux中的cgroups和namespaces。 后来又与微软合作,将Docker容器及其功能扩展到Windows Server上。

容器与虚拟化的区别

容器是在应用层面的一种抽象,将代码和依赖项打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器作为独立的进程在用户空间中运行。容器占用的空间比虚拟机少(容器镜像通常只有几十 MB 的大小),可以处理更多的应用程序,并且需要更少的虚拟机和操作系统资源。
虚拟机(VM)是物理硬件的抽象,将一台服务器变成多台服务器。虚拟机控制器允许多个虚拟机在一台物理机上运行。每个虚拟机包括完整的操作系统副本、应用程序、必要的二进制文件和库——占用数十GB的空间。虚拟机启动也更慢。
在这里插入图片描述

Docker使用的系统特性

Docker使用的操作系统功能包括:

  • PID命名空间:进程标识符和功能
  • UTS命名空间:主机名和域名
  • MNT命名空间:文件系统访问和结构
  • IPC命名空间:通过共享内存进行进程间通信
  • NET命名空间:网络访问
  • USR命名空间:用户名和标识符
  • chroot系统调用:文件系统根目录的位置
  • cgroups:资源保护
  • CAP drops:操作系统功能限制
  • 安全性模块:强制访问控制

为什么要使用Docker

Docker并不提供容器技术,而是隐藏了直接使用容器技术的复杂性,提供一套默认配置作为容器技术的最佳实践。

  • 标准化:Docker创建了容器的行业标准,因此它们可以在任何地方移植
  • 轻量级:容器共享机器的操作系统内核,因此不需要每个应用程序都有一个操作系统,提高了服务器效率,降低了服务器和许可证成本
  • 安全性:应用程序在容器中更安全,Docker提供了业界最强的默认隔离能力。

一个简单的示例

执行如下命令:

sudo docker run hello-world
  • Docker首先在本地计算机上查找镜像hello-world
  • 没有找到,则继续在Docker Hub上查找镜像
  • 查找到镜像后,则下载镜像
  • Docker安装下载的镜像,并从镜像创建一个新容器,启动容器
  • 容器运行成功
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值