《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——1.3 探究容器

简介: 由于围绕Docker和容器的开发节奏很快,现在任何书籍所能做的最好的就是将你带到一条正确的路上。本书中,这就意味着一开始会给出一套靠谱示例来说明当前Docker和精选的一组支持工具是如何工作的。之后,这条大路就会展示位于地平线上的新特性和新工具。

本节书摘来自异步社区《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》一书中的第1章,第1.3节,作者: 【美】Christopher Negus(克里斯托弗•尼格斯)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.3 探究容器

由于围绕Docker和容器的开发节奏很快,现在任何书籍所能做的最好的就是将你带到一条正确的路上。本书中,这就意味着一开始会给出一套靠谱示例来说明当前Docker和精选的一组支持工具是如何工作的。之后,这条大路就会展示位于地平线上的新特性和新工具。

无论你是想使用和管理容器,还是担负容器开发的任务,本书会让你以所有人都需要的一些事情起步,包括以下几项。

搭建Docker:许多完整的Linux系统和一些面向容器的特定Linux系统上都可以使用Docker。因此,本书开始部分的说明会帮你选择一个或多个这样的系统并展示如何启动Docker服务。
搭建Docker registry:Docker把容器镜像保存在registry中并使镜像可以被拉取(下载)到运行Docker的系统中。因此,你可以学习如何创建自己的私有Docker registry并用它保存自己的容器镜像。
如果你想要使用和管理容器,我会为你介绍不同的方法来使用:

普通的单个容器;
一组容器(使用Kubernetes和其他工具来管理它们)。
无论你是创建容器化应用还是只运行容器化应用,它都有助于理解将底层操作系统特性提供给容器的方法。你应该了解的用来支持容器的操作系统的辅助特性包括以下几个。

宿主机权限:设计上限制了容器可以操纵宿主机的范围。开放宿主机权限能让容器直接访问宿主机系统的特性,如宿主机的进程表、设备、特定的CPU以及IPC命名空间。本书稍后会用Fedora Atomic Host演示那些专为访问和修改宿主机系统而设计的容器(被称为超级特权容器)。
存储:你可以在Docker容器中使用挂载来连接宿主机的存储空间,而不是将数据保存在容器中。
网络:有特殊的规则和选项来从容器内管理宿主机的网络接口。
作为软件开发人员,容器既限制了你也让你得以自由。你有能力确保你的应用程序的所有文件都以一种立即可以运行的形式与容器打包在一起。但新的挑战浮现出来,这些挑战要求你重新思考应对下列事项的开发方式。

高效地处理容器层;
通过测试、开发和生产阶段指引软件增强;
在多个容器间划分服务;
在运行时环境中部署、启动和停止容器;
处理你的应用程序所需要的宿主机系统的辅助服务。
Docker有许多强大的特性并且当前可以很好地构建和运行单个容器。但Docker周围的世界并非停滞不前。甚至此时,数以百计的人们每天都在努力扩展用Docker所能完成的工作。

相当数量的工具即将出现,用以支持企业级容器的开发和部署。同样地,人们在不断地创造聪明的容器,并将这些容器以及用于构建这些容器的Dockerfile提供给想要使用和扩展它们的人。为了帮你采取超出本书范围的下一步措施,最后两章描述了以下内容。

更多容器化工具:如此众多的工具被开发出来使用Docker容器,以至于很难搞清全部这些工具。这一章描述了那些你将很快就能用于Docker容器的新兴工具。
容器镜像的示例:为了说明人们使用Docker的创造性方式,我用了整整一章来展示那些已经开放出来让你尝试的很酷的容器。
紧跟着最后一章专门用来帮你评估哪些现存的和即将推出的工具在你力图使用容器扩展自己的道路时对你最为有用。它梳理了当今这些工具能够帮你做什么,以及它们正如何发展以便明天为你服务。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1517 108
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
1371 2
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
924 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
1072 6
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
1012 6
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1480 4

相关产品

  • 容器服务Kubernetes版