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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 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 小结

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
存储 Kubernetes 容器
K8S部署nexus
该配置文件定义了Nexus 3的Kubernetes部署,包括PersistentVolumeClaim、Deployment和服务。PVC请求20Gi存储,使用NFS存储类。Deployment配置了一个Nexus 3容器,内存限制为6G,CPU为1000m,并挂载数据卷。Service类型为NodePort,通过30520端口对外提供服务。所有资源位于`nexus`命名空间中。
|
20天前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
41 9
|
19天前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
22 2
|
24天前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
22天前
|
Kubernetes 监控 云计算
Docker与Kubernetes的协同工作
Docker与Kubernetes的协同工作
|
22天前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
43 1
|
25天前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
41 3
|
29天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
1月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
22天前
|
Kubernetes 开发者 Docker
Docker与Kubernetes的协同工作
Docker与Kubernetes的协同工作

相关产品

  • 容器服务Kubernetes版
  • 下一篇
    DataWorks