认识Docker

1.Docker基础

Docker 提供了在松散隔离的环境中打包和运行应用程序的功能,该环境称为容器。隔离和安全性使您可以在给定主机上同时运行多个容器。容器是轻量级的,包含运行应用程序所需的一切,因此您无需依赖主机上安装的内容。您可以在工作时共享容器,并确保与您共享的每个人都能获得以相同方式工作的相同容器。

Docker 提供工具和平台来管理容器的生命周期:

使用容器开发您的应用程序及其支持组件。

容器成为分发和测试应用程序的单元。

准备就绪后,将应用程序作为容器或编排服务部署到生产环境中。无论您的生产环境是本地数据中心、云提供商还是两者的混合,其工作方式都相同。
容器化技术:

技术架构图:

优势:

1.镜像创建方便。2.安装快速3.隔离性强4.启动快5可移植性强6.共享方便

7.镜像小-MB

2.docker的架构与隔离机制

docker架构图:

Docker 使用客户端-服务器架构。Docker 客户端与 Docker 守护程序通信,后者负责构建、运行和分发 Docker 容器的繁重工作。Docker 客户端和守护程序可以在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护程序。Docker 客户端和守护程序使用 REST API、通过 UNIX 套接字或网络接口进行通信。另一个 Docker 客户端是 Docker Compose,它允许您使用由一组容器组成的应用程序

Docker的隔离机制:

Docker 是用Go 编程语言编写的 ,它利用 Linux 内核的几个特性来实现其功能。Docker 使用一种称为的技术namespaces来提供称为容器的隔离工作区。当您运行容器时,Docker 会为该容器创建一组命名空间。

这些命名空间提供了一层隔离。容器的每个方面都在单独的命名空间中运行,并且其访问仅限于该命名空间

特定名词:

资源控制:Cgroup是对一组进程进行统一的资源监控。

docker的应用场景:

web应用支持自动化打包和发布

支持自动化测试和持续集成与发布

易于部署和调整各类应用参数

易于编译并搭建

相关推荐
消失的旧时光-194312 分钟前
Spring Boot 工程化进阶:统一返回 + 全局异常 + AOP 通用工具包
java·spring boot·后端·aop·自定义注解
NE_STOP21 分钟前
Redis--发布订阅命令和Redis事务
java
PAC_3Dame25 分钟前
记一次真实的线上OOM
java
SunnyDays101144 分钟前
如何在Java中将Word文档转换为图像(JPEG、PNG或SVG)
java
Lumos_7771 小时前
Linux -- 线程
java·jvm·算法
知兀1 小时前
【MybatisPlus】后端用枚举类,数据库用tinyint,存在枚举类型转换
java
StockTV1 小时前
印度股票实时数据 NSE和BSE的实时行情、K 线及指数数据
java·开发语言·spring boot·python
User_芊芊君子1 小时前
【OpenAI 把 AI 玩明白了】:自主推理 + 动态知识图谱,这 4 个技术突破要颠覆行业
java·人工智能·知识图谱
c++之路2 小时前
C++20概述
java·开发语言·c++20
Championship.23.242 小时前
Linux Top 命令族深度解析与实战指南
java·linux·服务器·top·linux调试