news 2026/8/26 13:34:16

01-Docker 简介

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
01-Docker 简介

Docker 架构

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

Docker 守护进程

Docker 守护程序 ( dockerd) 侦听 Docker API 请求并管理 Docker 对象,例如镜像、容器、网络和卷。守护进程还可以与其他守护进程通信以管理 Docker 服务。Docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字归用户所有root,其他用户只能使用sudo. Docker 守护程序始终以root用户身份运行

Docker 客户端

Docker 客户端 ( docker) 是许多 Docker 用户与 Docker 交互的主要方式。Docker客户端可以通过docker API(restful API)和Docker守护进程交互,docker API可以直接通过http访问,或者使用SDK。SDK请参考官网地址https://docs.docker.com/engine/api/sdk/如Java,我们就下载Java的SDK即可。(注意Java不是官方提供的SDK,官方只提供Go和Python 的SDK)

Docker 桌面

Docker Desktop 是一个应用程序,适用于Mac 或 Windows 环境,能够构建和共享容器化应用程序和微服务。提供界面化的操作。

Docker Registry

Docker Registry存储 Docker 镜像。Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。

Docker Hub(https://hub.docker.com )提供了庞大的镜像集合供使用。

一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。

Docker 对象

docker中有很多对象,如镜像Image、容器Container、网络Network、卷Volume、插件Plugin和其他对象等

镜像Image

镜像是一个只读模板,其中包含创建 Docker 容器的说明。通常,一个镜像基于另一个镜像,并带有一些额外的自定义。

我们可以创建自己的镜像,也可以只使用其他人创建并在注册表中发布的镜像。要构建自己的镜像,一般我们会用到Dockerfile ,关于Dockerfile 我们后续再解释。

容器Container

容器是镜像的可运行实例。可以使用 Docker API 或 CLI 创建、启动、停止、移动或删除容器。也可以将容器连接到一个或多个网络。

默认情况下,一个容器与其他容器及其主机的隔离相对较好。我们可以控制容器的网络、存储或其他底层子系统与其他容器或主机的隔离程度。

容器由其镜像以及在创建或启动它时提供给它的任何配置选项定义。当容器被移除时,任何未存储在持久存储中的状态更改都会消失。

网络Network

每个容器都是相对隔离的环境,有自己的网络空间,意味着它们不能访问其它容器的sockets或接口。

卷Volume

是宿主机器的文件系统的一部分。Docker推荐使用卷进行持久化数据。卷可支持卷驱动(volume drivers),该驱动允许用户将数据存储到远程主机或云服务商(cloud provider)或其它。没有名字的卷叫匿名卷(anonymous volume),有名字的卷叫命名卷(named volume)。匿名卷没有明确的名字,当被初始化时,会被赋予一个随机名字。

下一篇:CentOS安装docker

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 13:33:44

JDK安装教程

文章目录jdk安装与配置环境变量 一&#xff0c;安装JDK8二&#xff0c; 配置环境变量三&#xff0c;检测JDK安装是否成功jdk安装与配置环境变量 一&#xff0c;安装JDK8 提取码&#xff1a;yqdw下载完成之后直接右键安装&#xff0c;一直下一步即可&#xff0c;但是需要选择安…

作者头像 李华
网站建设 2026/8/26 13:26:36

AI Agent实时搜索Skill:聚合Reddit、X与YouTube信息

先看结论&#xff1a;这类"搜索引擎 Skill"不是给你本地跑个大模型&#xff0c;而是把 Reddit、X、YouTube 这些平台的搜索能力封装成 Agent 可以自动调用的工具集。装上之后&#xff0c;你的 Agent 能在拿到任务时主动去各平台抓实时内容&#xff0c;再回来汇总成结…

作者头像 李华
网站建设 2026/8/26 13:26:29

数学建模竞赛B题解析:未来城市交通需求预测与可达率优化实战

1. 项目概述&#xff1a;当数学建模遇上未来城市交通五一数学建模竞赛的B题&#xff0c;每年都是兵家必争之地&#xff0c;今年直接把场景拉到了“未来新城”&#xff0c;聚焦交通需求规划与可达率。这题目一出来&#xff0c;我就知道&#xff0c;它绝不仅仅是套几个现成模型那…

作者头像 李华
网站建设 2026/8/26 13:25:34

卫星物联网+气候监测:把传感器伸向无信号地带

1. 一个尴尬的现实&#xff1a;气候变化的关键现场&#xff0c;大多没有信号 做了几年气候监测类物联网项目后&#xff0c;我越来越意识到一个有点讽刺的事实&#xff1a;最需要被监测的地方&#xff0c;往往恰好是最没有信号的地方。 极地冰盖、原始森林、深海浮标、高原冻土…

作者头像 李华
网站建设 2026/8/26 13:25:09

IoT设备接入云平台全解析:从MQTT到安全认证的实战指南

1. 从“上云”这个动作说起&#xff1a;先搞清IoT云到底是什么 说实话&#xff0c;这几年最容易被误解的词就是“IoT上云”。很多人以为把设备连上Wi-Fi、能往服务器发几条MQTT消息&#xff0c;就算完成上云了。直到真正跑生产环境、设备量上来之后&#xff0c;才发现那只是万里…

作者头像 李华
网站建设 2026/8/26 13:19:34

UDS 0x87 LinkControl服务详解:动态控制诊断通讯波特率与实战应用

1. 从一次真实的通讯故障说起&#xff1a;为什么我们需要LinkControl&#xff1f; 前段时间&#xff0c;我在调试一个基于CAN总线的控制器时&#xff0c;遇到了一个让人头疼的问题。设备在实验室环境下一切正常&#xff0c;诊断会话切换、读写数据、刷写流程都跑得飞快。但一旦…

作者头像 李华