认识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应用支持自动化打包和发布

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

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

易于编译并搭建

相关推荐
代码什么用1 小时前
Spring基础使用
java·后端·spring
Su米苏2 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园2 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁2 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网2 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西2 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨3 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车5553 小时前
java反射、自定义注解的应用(自定义分页)
java
BLUcoding4 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
yuniko-n4 小时前
【JUC】Lock 和 synchronzied 锁
java