暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

docker 简介

原创 愤怒的蜗牛 2022-10-01
299


本章将带领你进入 Docker 的世界。
什么 是 Docker
用 它会带来什么 样的好处?
好吧, 让我们 带着 问 题开始这神奇之旅。

本章将带领你进入 Docker 的世界。
什么 是 Docker
用 它会带来什么 样的好处?
好吧, 让我们 带着 问 题开始这神奇之旅。


什么 是 Docker
Docker 最初是 dotCloud 公司 创 始人 Solomon Hykes 在法国 期间 发起的一个公司
内 部项目 , 它是基于 dotCloud 公司 多 年云服务技术的一次革新, 并于 201 3 3
月 以 Apache 2.0 授权协议开源), 主要项目 代码在 GitHub 上进行维护 。 Docker
目 后 来还加入了 Linux 基金会, 并成立推动开放容器 联盟
Docker 自 开源后 受到 广 泛的关注和讨论, 至今其 GitHub 项目 已经超过 3 6 千个
星标和一万多 个 fork。 甚至由 于 Docker 项目 的火爆, 在 201 3 年底, dotCloud
司 决定改名 为 DockerDocker 最初是在 Ubuntu 1 2.04 上开发实 现的; Red Hat
RHEL 6.5 开始对 Docker 进行支持; Google 也在其 PaaS 产 品中 广 泛应 用
Docker
Docker 使用 Google 公司 推出 的 Go 语言 进行开发实 现, 基于 Linux 内 核的
cgroupnamespace, 以及 AUFS 类的 Union FS 等技术, 对进程进行封装隔离 ,
属 于操作系 统层 面的虚 拟化技术。 由 于隔离 的进程独 立于宿主和其它的隔离 的进
程, 因 此也称其为 容器 。 最初实 现是基于 LXC, 从 0.7 以后 开始去除 LXC, 转而使
用 自 行开发的 libcontainer, 从 1 .11 开始, 则 进一步演进为 使用 runC
containerd
Docker 在容器 的基础 上, 进行了 进一步的封装, 从文件系 统、 网 络互联到 进程隔
离 等等, 极大的简 化了 容器 的创 建和维护 。


为 什么 要使用 Docker
作为 一种新兴的虚 拟化方式, Docker 跟传统的虚 拟化方式相 比具有众多 的优势。
更高 效的利 用 系 统资源
由 于容器 不需要进行硬件虚 拟以及运行完整操作系 统等额 外开销, Docker 对系 统
资源的利 用 率更高 。 无论是应 用 执行速度、 内 存损 耗或者文件存储速度, 都要比传
统虚 拟机技术更高 效。 因 此, 相 比虚 拟机技术, 一个相 同 配置的主机, 往往可以运
行更多 数量的应 用 。
更快速的启 动时间
传统的虚 拟机技术启 动应 用 服务往往需要数分钟, 而 Docker 容器 应 用 , 由 于直接
运行于宿主内 核, 无需启 动完整的操作系 统, 因 此可以做到 秒级、 甚至毫秒级的启
动时间 。 大大的节 约 了 开发、 测试、 部署的时间 。
一致的运行环境
开发过程中 一个常见的问 题是环境一致性问 题。 由 于开发环境、 测试环境、 生产 环
境不一致, 导致有些 bug 并未在开发过程中 被发现。 而 Docker 的镜像提供了 除内
核外完整的运行时环境, 确保了 应 用 运行环境一致性, 从而不会再出 现 这段代码
在我机器 上没问 题啊这类问 题。
持续交付和部署
对开发和运维( DevOps) 人员 来说, 最希望的就是一次创 建或配置, 可以在任意
地方正常运行。
使用 Docker 可以通过定制 应 用 镜像来实 现持续集成、 持续交付、 部署。 开发人员
可以通过 Dockerfile 来进行镜像构建, 并结合 持续集成(Continuous Integration) 统进行集成测试, 而运维人员 则 可以直接在生产 环境中 快速部署该镜像, 甚至结合
持续部署(Continuous Delivery/Deployment) 系 统进行自 动部署。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论