《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——导读

简介: Docker的本质特性:我描述了Docker如何利用诸如Linux容器(LXC)技术保持容器与宿主机上运行的其他应用程序隔离或者如何有选择性地介入宿主机系统。





前言

Docker这一容器化技术目前正处于新浪潮的中心,这一浪潮波及了应用的构建、打包和部署。它有可能影响计算机技术的方方面面,从应用程序的开发流程到应用程序如何部署以及跨大规模数据中心进行垂直和水平扩展。

尽管Docker非常流行,但它依然是一个非常新的项目,许多人并没有真正理解什么是Docker。如果你也是其中一员,那么本书会帮你迈出第一步,并让你见识到容器化所承诺的巨大潜力。我的目标是通过本书引领你进入容器化的世界,这些目标可以概括为以下几种方式。

通过实践来学习:我常在自己的书中提及这一点,我相信学习技术最好的方式就是获取并使用它。为了做到这一点,我让你从几种流行的Linux系统中进行选择,并介绍如何在所选的系统上安装Docker,而且还给出使用Docker做各种事情的实际例子——从运行简单的容器到构建和管理自己的容器镜像。之后学习会延伸至编排和管理容器的工具和技术。
如何通过Docker受益:我描述了在容器中创建和运行应用程序的好处,而不是安装软件包(如RPM或者Deb格式)并直接从硬盘上运行非容器化的应用程序。除了运行应用程序,我还描述了容器化如何为软件开发人员和系统管理人员带来益处。 
Docker的本质特性:我描述了Docker如何利用诸如Linux容器(LXC)技术保持容器与宿主机上运行的其他应用程序隔离或者如何有选择性地介入宿主机系统。这些特性包括Docker如何使用命名空间、元数据以及独立的文件系统来管理容器化应用并保证其安全。
阅读本书并不需要读者了解Docker或者容器化方面的知识,读者可以将本书作为Docker的入门书。当然,本书也探讨了更高级的Docker话题,如编排和容器的开发。

随着阅读的深入,读者将看到运行、调查、停止和启动、保存以及管理容器的具体方法。开始创建容器时,我讨论了一些技巧,这些技巧将有助于读者创建高效地构建和运行的容器镜像。我还将带读者逐步研究其他人为了生成自己的容器而创建的构建文件(其被称为Dockerfile)。

阅读本书大体上并不需要Linux容器,或者Docker容器的知识。不过,话虽如此,有些技术在Docker容器内部和外部都会用到,了解其中的一些会有助于更加得心应手地使用Docker。
了解一些Docker运行环境的知识有助于更好地使用Docker容器。Docker构建在Linux技术之上,并与特定的高级特性相结合,包括用于管理Linux命名空间的Linux容器(LXC),以及用于管理容器对系统资源(如CPU和内存)的访问的Cgroups。

即使是与Docker容器最基本的交互,也依赖于底层的Linux技术。你可能听说过Docker可以运行在Windows或者Mac系统之上,但在这些系统上运行Docker始终依赖Linux虚拟机。换句话说,没有Linux就没有Docker容器。同样,每个容器自身通常都是从基础镜像构建的,而这个基础镜像又是从特定的Linux发行版创建的。

因此,如果没有Linux系统的使用经验,你会发现,了解Linux的如下方面及相关技术会很有用。

目录

[第一部分 开启容器之旅
第1章 使用Docker对应用进行容器化
1.1 了解容器化应用的优缺点

1.1.1 容器化应用不是直接在宿主机上运行的应用
1.1.2 容器化应用不是直接在虚拟机上运行的应用
1.1.3 了解容器的优点
1.1.4 了解容器化应用面临的挑战
1.2 了解容器的组成
1.2.1 Docker项目
1.2.2 Docker Hub Registry
1.2.3 Docker镜像和容器
1.2.4 docker命令
1.3 探究容器
1.4 小结
[第2章 搭建容器运行时环境
2.1 标准Linux系统的Docker配置

2.1.1 Ubuntu的Docker配置
2.1.2 Fedora的Docker配置
2.1.3 Red Hat Enterprise Linux的Docker配置
2.1.4 其他操作系统的Docker配置
2.2 容器式Linux系统的Docker配置
2.2.1 Atomic Host的Docker配置
2.2.2 CoreOS的Docker配置
2.3 小结

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

相关产品

  • 容器服务Kubernetes版