[{"data":1,"prerenderedAt":744},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fdocker\u002Fbasic\u002Fdocker-architecture":158,"\u002Fdocs\u002Fdocker\u002Fbasic\u002Fdocker-architecture-description":733},[4],{"title":5,"path":6,"stem":7,"children":8,"page":36},"Docs","\u002Fdocs","docs",[9,37,45,65,148],{"title":10,"description":11,"icon":12,"path":13,"stem":14,"children":15,"page":36},"Redis","Redis是一个开源的高性能键值存储数据库，它提供了多种数据结构来存储数据，如字符串、哈希、列表、集合、有序集合等。Redis将数据存储在内存中，以提供快速的读写访问速度，并且能够通过异步的方式将数据持久化到磁盘上。它支持复制、Lua脚本、事务处理、不同级别的持久化选项以及多种客户端语言的接口。Redis广泛用于缓存、消息队列、短时数据存储和高性能的应用场景中。","skill-icons:redis-light","\u002Fdocs\u002Fredis","docs\u002F1.redis",[16],{"title":17,"path":18,"stem":19,"children":20,"description":34,"icon":35},"install","\u002Fdocs\u002Fredis\u002Finstall","docs\u002F1.redis\u002F1.install\u002F1.index",[21,24,29],{"title":22,"path":18,"stem":19,"description":23},"Introduction","The powerful Git-based CMS designed specifically for Nuxt developers.",{"title":25,"path":26,"stem":27,"description":28},"Installation","\u002Fdocs\u002Fredis\u002Finstall\u002Finstallation","docs\u002F1.redis\u002F1.install\u002F2.installation","Get started with Nuxt Content v3 in your Nuxt application.",{"title":30,"path":31,"stem":32,"description":33},"Configuration","\u002Fdocs\u002Fredis\u002Finstall\u002Fconfiguration","docs\u002F1.redis\u002F1.install\u002F3.configuration","Nuxt Content is configured with sensible defaults.",null,"icon-park-outline:install",false,{"title":38,"path":39,"stem":40,"children":41,"description":43,"icon":44},"SpringBoot","\u002Fdocs\u002Fspringboot","docs\u002F2.springboot\u002F1.index",[42],{"title":22,"path":39,"stem":40,"description":23},"Spring Boot 是一个基于 Spring 框架的‌开箱即用型 Java 开发框架‌，由 Pivotal 团队于 2014 年推出，旨在彻底简化 Spring 应用的初始搭建、配置和部署流程。其核心理念是 ‌\"约定优于配置\"‌，通过自动化机制减少开发者的样板代码工作，显著提升效率。","simple-icons:springboot",{"title":46,"path":47,"stem":48,"children":49,"description":63,"icon":64},"Rocky Linux","\u002Fdocs\u002Frocky","docs\u002F3.rocky\u002F1.index",[50,53,58],{"title":51,"path":47,"stem":48,"description":52},"1 Rocky Linux 概述","Rocky Linux 是一个开源、免费的企业级 Linux 操作系统。它的核心目标是与 Red Hat Enterprise Linux (RHEL) 100% 完全兼容，可以看作是原本广受欢迎的 CentOS 的“替代者”和“精神继承者.",{"title":54,"path":55,"stem":56,"description":57},"2 VMware安装Rocky Linux","\u002Fdocs\u002Frocky\u002Finstall","docs\u002F3.rocky\u002F2.install","本文主要介绍了VMware Workstation 17.x 虚拟机如何快速安装Rocky Linux 10.x 版本的Linux操作系统。",{"title":59,"path":60,"stem":61,"description":62},"3 Rocky Linux 10安装Docker","\u002Fdocs\u002Frocky\u002Fdocker","docs\u002F3.rocky\u002F3.docker","在 Rocky Linux 10 上安装 Docker 的推荐方式是使用其官方仓库。下面是完整的安装步骤。","Rocky Linux 是一个开源、免费的企业级 Linux 操作系统。它的核心目标是与 Red Hat Enterprise Linux (RHEL) 100% 完全兼容，可以看作是原本广受欢迎的 CentOS 的“替代者”和“精神继承者”","logos:rocky-linux-icon",{"title":66,"description":67,"icon":68,"path":69,"stem":70,"children":71,"page":36},"Docker","Docker是一个开源的应用容器引擎，可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中，然后发布到Docker容器中运行，也可以实现虚拟化。","devicon:docker","\u002Fdocs\u002Fdocker","docs\u002F4.docker",[72,96,111,137],{"title":73,"path":74,"stem":75,"children":76,"description":34,"icon":95},"Docker 基础","\u002Fdocs\u002Fdocker\u002Fbasic","docs\u002F4.docker\u002F1.basic\u002F1.index",[77,80,85,90],{"title":78,"path":74,"stem":75,"description":79},"Docker基础概念","Docker是一个基于Go语言开发并遵从 Apache2.0 协议开源的应用容器引擎，可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中，然后发布到Docker环境中运行，容器彼此隔离，但可以通过特定的通道相互传递信息。保证了在任何环境下运行的应用程序具有相同的行为，这极大地减少了环境差异导致的“在我机器上可以运行”的问题。",{"title":81,"path":82,"stem":83,"description":84},"Docker核心架构","\u002Fdocs\u002Fdocker\u002Fbasic\u002Fdocker-architecture","docs\u002F4.docker\u002F1.basic\u002F2.docker-architecture","Docker 采用 C\u002FS 架构，客户端通过 REST API 将指令下达给常驻后台的守护进程（dockerd）；守护进程则依靠 Linux 内核的 Namespace 实现环境隔离、Cgroups 实现资源配额，并利用 UnionFS 的分层存储机制构建镜像和容器，从而在单台宿主机上实现了轻量级、高性能的应用沙箱。",{"title":86,"path":87,"stem":88,"description":89},"Docker镜像加速","\u002Fdocs\u002Fdocker\u002Fbasic\u002Fdocker-mirror-acceleration","docs\u002F4.docker\u002F1.basic\u002F3.docker-mirror-acceleration","Docker安装完成后默认的官方镜像仓库是[Docker Hub‌](https:\u002F\u002Fhub.docker.com\u002F){target=blank}，这是Docker官方维护的公共镜像注册中心。但对于国内Docker用户而言，在没有魔法的情况下是无法访问Docker Hub网站的，也无法从Docker Hub仓库拉取镜像。目前国内常用的2种方法：**Docker镜像加速源** 和 **配置Docker代理**。",{"title":91,"path":92,"stem":93,"description":94},"Docker Context","\u002Fdocs\u002Fdocker\u002Fbasic\u002Fdocker-context","docs\u002F4.docker\u002F1.basic\u002F4.docker-context","Docker Context 是 Docker 19.03 版本引入的一项功能，它为 Docker 客户端（CLI）提供了一套标准化的“连接配置”机制。通过 Context，你可以轻松地在本地开发环境、远程服务器、云服务等多个 Docker 环境之间快速切换，极大地提升了多环境管理的效率。","mdi:information-box-outline",{"title":97,"description":34,"icon":35,"path":98,"stem":99,"children":100,"page":36},"Docker 安装","\u002Fdocs\u002Fdocker\u002Finstall","docs\u002F4.docker\u002F2.install",[101,106],{"title":102,"path":103,"stem":104,"description":105},"CentOS安装Docker","\u002Fdocs\u002Fdocker\u002Finstall\u002Fcentos-docker-install","docs\u002F4.docker\u002F2.install\u002F1.centos-docker-install","在 CentOS 上安装 Docker，准确的说是安装 Docker Engine, 本文主要介绍如何在CentOS上安装Docker。",{"title":107,"path":108,"stem":109,"description":110},"Rocky安装Docker","\u002Fdocs\u002Fdocker\u002Finstall\u002Frocky-docker-install","docs\u002F4.docker\u002F2.install\u002F2.rocky-docker-install","在 Rocky Linux 10 上安装 Docker 和 Centos 安装 Docker 步骤基本类似的，推荐方式是使用其官方仓库。下面是完整的安装步骤。",{"title":112,"description":34,"icon":113,"path":114,"stem":115,"children":116,"page":36},"Docker 使用","fluent:data-usage-24-regular","\u002Fdocs\u002Fdocker\u002Fusage","docs\u002F4.docker\u002F3.usage",[117,122,127,132],{"title":118,"path":119,"stem":120,"description":121},"Docker持久化","\u002Fdocs\u002Fdocker\u002Fusage\u002Fdocker-persistence","docs\u002F4.docker\u002F3.usage\u002F1.docker-persistence","在 Docker 中，容器默认是无状态的，容器删除后内部数据会直接丢失，Docker 官方提供了三类核心数据持久化方案，分别适配不同的使用场景：卷（Volumes）、绑定挂载（Bind Mounts） 和 tmpfs 挂载。",{"title":123,"path":124,"stem":125,"description":126},"Docker容器自启动","\u002Fdocs\u002Fdocker\u002Fusage\u002Fcontainer-restart","docs\u002F4.docker\u002F3.usage\u002F2.container-restart","Docker容器自启动策略是指Docker服务运行期间，特定容器在退出、崩溃或宿主机重启后，容器是否自动重新运行。",{"title":128,"path":129,"stem":130,"description":131},"Docker Dockerfile","\u002Fdocs\u002Fdocker\u002Fusage\u002Fdocker-dockerfile","docs\u002F4.docker\u002F3.usage\u002F3.docker-dockerfile","本文旨在探讨Dockerfile的功能定位与指令体系，并在此基础上，给出基于Dockerfile实现自定义镜像构建的具体方法。",{"title":133,"path":134,"stem":135,"description":136},"连接远程Docker服务","\u002Fdocs\u002Fdocker\u002Fusage\u002Fconnect-remote-docker","docs\u002F4.docker\u002F3.usage\u002F4.connect-remote-docker","在日常开发或测试中，我们经常需要在本地开发环境中直接操作远程 Docker 服务——执行镜像构建、容器启停等命令，效果与直接在远程服务器上操作完全一致。这能极大提升调试与部署效率，同时避免频繁登录远程服务器的繁琐。",{"title":138,"description":34,"icon":139,"path":140,"stem":141,"children":142,"page":36},"Docker 参考手册","material-symbols-light:docs-outline","\u002Fdocs\u002Fdocker\u002Fresources","docs\u002F4.docker\u002F5.resources",[143],{"title":144,"path":145,"stem":146,"description":147},"Docker 命令大全","\u002Fdocs\u002Fdocker\u002Fresources\u002Fdocker-command","docs\u002F4.docker\u002F5.resources\u002F1.docker-command","下面介绍Docker常见的基础命令。",{"title":149,"path":150,"stem":151,"children":152,"description":156,"icon":157},"Linux","\u002Fdocs\u002Flinux","docs\u002F5.Linux\u002F1.index",[153],{"title":154,"path":150,"stem":151,"description":155},"1.dnf和yum区别","一句话概括：dnf 是 yum 的下一代升级版，你可以把 dnf 看作\"优化重构后的yum\"","Linux是免费开源、多用户多任务、高稳定性与安全性、支持多平台硬件的Unix操作系统。文档整理了Linux相关的命令和常见问题处理方法。","logos:linux-tux",{"id":159,"title":81,"body":160,"createDate":722,"description":84,"extension":723,"links":34,"meta":724,"navigation":725,"path":82,"readingTime":726,"seo":727,"sitemap":728,"stem":83,"updateDate":34,"wordCount":731,"__hash__":732},"docs\u002Fdocs\u002F4.docker\u002F1.basic\u002F2.docker-architecture.md",{"type":161,"value":162,"toc":717},"minimark",[163,168,176,180,183,190,193,199,267,271,274,713],[164,165,167],"h2",{"id":166},"_1-docker架构示意图","1. Docker架构示意图",[169,170,171],"p",{},[172,173],"img",{"alt":174,"src":175},"Docker架构示意图","https:\u002F\u002Fwww.runoob.com\u002Fwp-content\u002Fuploads\u002F2016\u002F07\u002Fdocker-architecture.webp",[164,177,179],{"id":178},"_2-docker架构的工作流程","2. Docker架构的工作流程",[169,181,182],{},"Docker 的工作流程涵盖从‌构建镜像‌到‌运行容器‌再到‌镜像分发‌的完整闭环，各环节由客户端、守护进程、仓库协同完成。",[184,185,186],"ol",{},[187,188,189],"li",{},"整体流程概览",[169,191,192],{},"编写Dockerfile → 构建镜像(Build) → 推送仓库(Push) → 拉取镜像(Pull) → 创建运行容器(Run)",[184,194,196],{"start":195},2,[187,197,198],{},"分阶段详解",[200,201,202,219,233,253],"ul",{},[187,203,204,205],{},"镜像构建阶段（Build）\n",[200,206,207,210,213,216],{},[187,208,209],{},"开发者编写 ‌Dockerfile‌，定义基础镜像、依赖安装、代码拷贝、启动命令等指令。",[187,211,212],{},"客户端发送 docker build 指令给守护进程。",[187,214,215],{},"守护进程逐层执行指令，每一步生成一个只读镜像层，最终叠加为完整镜像。",[187,217,218],{},"构建完成后镜像存储在本地镜像库中。",[187,220,221,222],{},"镜像分发阶段（Push \u002F Pull）\n",[200,223,224,227,230],{},[187,225,226],{},"‌Push‌：将本地镜像推送到远程仓库（如 Docker Hub、Harbor），便于团队共享",[187,228,229],{},"‌Pull‌：从远程仓库拉取所需镜像到本地，为运行做准备",[187,231,232],{},"守护进程通过 Registry API 与仓库交互，完成镜像的上传下载",[187,234,235,236],{},"容器运行阶段（Run）\n",[200,237,238,241,244,247,250],{},[187,239,240],{},"客户端发送 docker run 指令",[187,242,243],{},"守护进程在本地找到对应镜像，基于镜像创建一个‌可读写容器层‌",[187,245,246],{},"利用 ‌Linux Namespaces‌ 隔离进程、网络、文件系统",[187,248,249],{},"利用 ‌Cgroups‌ 限制容器的 CPU、内存、磁盘等资源",[187,251,252],{},"容器启动后以独立进程运行在宿主机上",[187,254,255,256],{},"容器管理阶段\n",[200,257,258,261,264],{},[187,259,260],{},"‌启停‌：docker start \u002F stop \u002F restart 控制容器生命周期\n-‌ 监控‌：docker stats 查看资源使用情况",[187,262,263],{},"‌日志‌：docker logs 查看容器输出",[187,265,266],{},"‌删除‌：docker rm 移除停止的容器，释放资源",[164,268,270],{"id":269},"_3-docker的核心组件","3. Docker的核心组件",[169,272,273],{},"Docker 的核心组件围绕‌镜像、容器、仓库、网络、存储‌五大模块构建，各组件协同支撑从开发到运行的完整容器生命周期。",[184,275,276,291,322,372,393,414,435,564,601,659],{},[187,277,278,282,283],{},[279,280,281],"strong",{},"Docker 客户端（Docker Client）："," Docker 客户端是用户与 Docker 守护进程交互的命令行界面（CLI）。它是用户与 Docker 系统的主要交互方式，用户通过 Docker CLI 发出命令，这些命令被发送到 Docker 守护进程，由守护进程执行相应的操作。",[200,284,285,288],{},[187,286,287],{},"功能：允许用户使用命令与 Docker 守护进程通信，如创建容器、构建镜像、查看容器状态等。",[187,289,290],{},"交互方式：Docker 客户端与 Docker 守护进程之间通过 REST API 或 Unix 套接字通信。常用的命令行工具是 docker，通过它，用户可以发出各种 Docker 操作命令。",[187,292,293,296,297],{},[279,294,295],{},"Docker 守护进程（Docker Daemon）："," Docker 守护进程（通常是 dockerd）是 Docker 架构的核心，负责管理容器生命周期、构建镜像、分发镜像等任务。守护进程通常以后台进程的方式运行，等待来自 Docker 客户端的 API 请求。",[200,298,299,319],{},[187,300,301,302],{},"功能：\n",[200,303,304,307,310,313,316],{},[187,305,306],{},"启动和停止容器。",[187,308,309],{},"构建、拉取和推送镜像。",[187,311,312],{},"管理容器的网络和存储。",[187,314,315],{},"启动、停止、查看容器日志等。",[187,317,318],{},"与 Docker 注册表进行通信，管理镜像的存储与分发。",[187,320,321],{},"交互方式：Docker 守护进程监听来自 Docker 客户端的请求，并且通过 Docker API 执行这些请求。守护进程将负责容器、镜像等 Docker 对象的管理，并根据请求的参数启动容器、删除容器、修改容器配置等。",[187,323,324,327,328,343],{},[279,325,326],{},"Docker Engine API","： Docker 引擎 API 是 Docker 提供的 RESTful 接口，允许外部客户端与 Docker 守护进程进行通信。通过这个 API，用户可以执行各种操作，如启动容器、构建镜像、查看容器状态等。API 提供了 HTTP 请求的接口，支持跨平台调用。",[200,329,330,340],{},[187,331,301,332],{},[200,333,334,337],{},[187,335,336],{},"向 Docker 守护进程发送 HTTP 请求，实现容器、镜像的管理。",[187,338,339],{},"提供 RESTful 接口，允许通过编程与 Docker 进行交互。",[187,341,342],{},"交互方式：可以通过 curl 或其他 HTTP 客户端访问 Docker 引擎 API。例如，查询当前 Docker 守护进程的版本：",[344,345,350],"pre",{"className":346,"code":347,"language":348,"meta":349,"style":349},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl --unix-socket \u002Fvar\u002Frun\u002Fdocker.sock http:\u002F\u002Flocalhost\u002Fversion\n","bash","",[351,352,353],"code",{"__ignoreMap":349},[354,355,358,362,366,369],"span",{"class":356,"line":357},"line",1,[354,359,361],{"class":360},"sBMFI","curl",[354,363,365],{"class":364},"sfazB"," --unix-socket",[354,367,368],{"class":364}," \u002Fvar\u002Frun\u002Fdocker.sock",[354,370,371],{"class":364}," http:\u002F\u002Flocalhost\u002Fversion\n",[187,373,374,377,378],{},[279,375,376],{},"Docker 容器（Docker Containers）："," 容器是 Docker 的执行环境，它是轻量级、独立且可执行的软件包。容器是从 Docker 镜像启动的，包含了运行某个应用程序所需的一切——从操作系统库到应用程序代码。容器在运行时与其他容器和宿主机共享操作系统内核，但容器之间的文件系统和进程是隔离的。",[200,379,380,390],{},[187,381,301,382],{},[200,383,384,387],{},[187,385,386],{},"提供独立的运行环境，确保应用程序在不同的环境中具有一致的行为。",[187,388,389],{},"容器是临时的，通常在任务完成后被销毁。",[187,391,392],{},"交互方式：容器的生命周期是由 Docker 守护进程管理的。容器可以在任何地方运行，因为它们不依赖于底层操作系统的配置，所有的运行时依赖已经封装在镜像中。",[187,394,395,398,399],{},[279,396,397],{},"Docker 镜像（Docker Images）："," Docker 镜像是容器的只读模板。每个镜像都包含了应用程序运行所需的操作系统、运行时、库、环境变量和应用代码等。镜像是静态的，用户可以根据镜像启动容器。",[200,400,401,411],{},[187,402,301,403],{},[200,404,405,408],{},[187,406,407],{},"镜像是构建容器的基础，每个容器实例化时都会使用镜像。",[187,409,410],{},"镜像是只读的，不同容器使用同一个镜像时，容器中的文件系统层是独立的。",[187,412,413],{},"交互方式：Docker 镜像可以通过 docker pull 从 Docker Hub 或私有注册表拉取，也可以通过 docker build 从 Dockerfile 构建。",[187,415,416,419,420],{},[279,417,418],{},"Docker 仓库（Docker Registries）："," Docker 仓库是用来存储 Docker 镜像的地方，最常用的公共仓库是 Docker Hub。用户可以从 Docker Hub 下载镜像，也可以上传自己的镜像分享给其他人。除了公共仓库，用户也可以部署自己的私有 Docker 仓库来管理企业内部的镜像。",[200,421,422,432],{},[187,423,301,424],{},[200,425,426,429],{},[187,427,428],{},"存储 Docker 镜像。",[187,430,431],{},"提供镜像的上传和下载功能。",[187,433,434],{},"交互方式：Docker Hub 提供了大量官方和社区维护的镜像，如 Ubuntu、Nginx、MySQL 等，Docker 镜像可以通过 docker pull 从 Docker Hub 或私有注册表拉取。",[187,436,437,440,441,456,546,551],{},[279,438,439],{},"Docker Compose："," Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过 Compose，用户可以使用一个 docker-compose.yml 配置文件定义多个容器（服务），并可以通过一个命令启动这些容器。Docker Compose 主要用于开发、测试和部署多容器的应用。",[200,442,443,453],{},[187,444,301,445],{},[200,446,447,450],{},[187,448,449],{},"定义和运行多个容器组成的应用。",[187,451,452],{},"通过 YAML 文件来配置应用的服务、网络和卷等。",[187,454,455],{},"示例：创建一个简单的 docker-compose.yml 文件来配置一个包含 Web 服务和数据库服务的应用：",[344,457,459],{"className":346,"code":458,"language":348,"meta":349,"style":349},"version: '3'\nservices:\nweb:\n    image: nginx\n    ports:\n    - \"8080:80\"\ndb:\n    image: mysql\n    environment:\n    MYSQL_ROOT_PASSWORD: example\n",[351,460,461,476,481,487,496,502,517,523,531,537],{"__ignoreMap":349},[354,462,463,466,470,473],{"class":356,"line":357},[354,464,465],{"class":360},"version:",[354,467,469],{"class":468},"sMK4o"," '",[354,471,472],{"class":364},"3",[354,474,475],{"class":468},"'\n",[354,477,478],{"class":356,"line":195},[354,479,480],{"class":360},"services:\n",[354,482,484],{"class":356,"line":483},3,[354,485,486],{"class":360},"web:\n",[354,488,490,493],{"class":356,"line":489},4,[354,491,492],{"class":360},"    image:",[354,494,495],{"class":364}," nginx\n",[354,497,499],{"class":356,"line":498},5,[354,500,501],{"class":360},"    ports:\n",[354,503,505,508,511,514],{"class":356,"line":504},6,[354,506,507],{"class":360},"    -",[354,509,510],{"class":468}," \"",[354,512,513],{"class":364},"8080:80",[354,515,516],{"class":468},"\"\n",[354,518,520],{"class":356,"line":519},7,[354,521,522],{"class":360},"db:\n",[354,524,526,528],{"class":356,"line":525},8,[354,527,492],{"class":360},[354,529,530],{"class":364}," mysql\n",[354,532,534],{"class":356,"line":533},9,[354,535,536],{"class":360},"    environment:\n",[354,538,540,543],{"class":356,"line":539},10,[354,541,542],{"class":360},"    MYSQL_ROOT_PASSWORD:",[354,544,545],{"class":364}," example\n",[200,547,548],{},[187,549,550],{},"启动服务：启动 Compose 定义的所有服务",[344,552,554],{"className":346,"code":553,"language":348,"meta":349,"style":349},"docker-compose up\n",[351,555,556],{"__ignoreMap":349},[354,557,558,561],{"class":356,"line":357},[354,559,560],{"class":360},"docker-compose",[354,562,563],{"class":364}," up\n",[187,565,566,569,570,585],{},[279,567,568],{},"Docker Swarm："," Docker Swarm 是 Docker 提供的集群管理和调度工具。它允许将多个 Docker 主机（节点）组织成一个集群，并通过 Swarm 集群管理工具来调度和管理容器。Swarm 可以实现容器的负载均衡、高可用性和自动扩展等功能。",[200,571,572,582],{},[187,573,301,574],{},[200,575,576,579],{},[187,577,578],{},"管理多节点 Docker 集群。",[187,580,581],{},"通过调度器管理容器的部署和扩展。",[187,583,584],{},"初始化 Swarm 集群：",[344,586,588],{"className":346,"code":587,"language":348,"meta":349,"style":349},"docker swarm init\n",[351,589,590],{"__ignoreMap":349},[354,591,592,595,598],{"class":356,"line":357},[354,593,594],{"class":360},"docker",[354,596,597],{"class":364}," swarm",[354,599,600],{"class":364}," init\n",[187,602,603,606,607,622],{},[279,604,605],{},"Docker 网络（Docker Networks）:"," Docker 网络允许容器之间相互通信，并与外部世界进行连接。Docker 提供了多种网络模式来满足不同的需求，如 bridge 网络（默认）、host 网络和 overlay 网络等。",[200,608,609,619],{},[187,610,301,611],{},[200,612,613,616],{},[187,614,615],{},"管理容器间的网络通信。",[187,617,618],{},"支持不同的网络模式，以适应不同场景下的需求。",[187,620,621],{},"创建一个自定义网络并将容器连接到该网络：",[344,623,625],{"className":346,"code":624,"language":348,"meta":349,"style":349},"docker network create my_network\ndocker run -d --network my_network ubuntu\n",[351,626,627,640],{"__ignoreMap":349},[354,628,629,631,634,637],{"class":356,"line":357},[354,630,594],{"class":360},[354,632,633],{"class":364}," network",[354,635,636],{"class":364}," create",[354,638,639],{"class":364}," my_network\n",[354,641,642,644,647,650,653,656],{"class":356,"line":195},[354,643,594],{"class":360},[354,645,646],{"class":364}," run",[354,648,649],{"class":364}," -d",[354,651,652],{"class":364}," --network",[354,654,655],{"class":364}," my_network",[354,657,658],{"class":364}," ubuntu\n",[187,660,661,664,665,680],{},[279,662,663],{},"Docker 卷（Docker Volumes）:"," Docker 卷是一种数据持久化机制，允许数据在容器之间共享，并且独立于容器的生命周期。与容器文件系统不同，卷的内容不会随着容器的销毁而丢失，适用于数据库等需要持久存储的应用。",[200,666,667,677],{},[187,668,301,669],{},[200,670,671,674],{},[187,672,673],{},"允许容器间共享数据。",[187,675,676],{},"保证数据持久化，独立于容器的生命周期。",[187,678,679],{},"创建并挂载卷：",[344,681,683],{"className":346,"code":682,"language":348,"meta":349,"style":349},"docker volume create my_volume\ndocker run -d -v my_volume:\u002Fdata ubuntu\n",[351,684,685,697],{"__ignoreMap":349},[354,686,687,689,692,694],{"class":356,"line":357},[354,688,594],{"class":360},[354,690,691],{"class":364}," volume",[354,693,636],{"class":364},[354,695,696],{"class":364}," my_volume\n",[354,698,699,701,703,705,708,711],{"class":356,"line":195},[354,700,594],{"class":360},[354,702,646],{"class":364},[354,704,649],{"class":364},[354,706,707],{"class":364}," -v",[354,709,710],{"class":364}," my_volume:\u002Fdata",[354,712,658],{"class":364},[714,715,716],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":349,"searchDepth":483,"depth":483,"links":718},[719,720,721],{"id":166,"depth":195,"text":167},{"id":178,"depth":195,"text":179},{"id":269,"depth":195,"text":270},"2026-07-21 11:29:00","md",{},{"title":81},12,{"title":81,"description":84},{"loc":82,"images":729},[730],{"loc":175},2158,"HcgRjYkHWOi1s36vaXIYjnAYSeWRCRTFvDaE86mF_wg",{"data":734,"body":735},{},{"type":736,"children":737},"root",[738],{"type":739,"tag":169,"props":740,"children":741},"element",{},[742],{"type":743,"value":84},"text",1787625812388]