From 485839116caf340936e6c94bd001f88ded7c3fc3 Mon Sep 17 00:00:00 2001 From: clh Date: Fri, 24 Jan 2025 15:30:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20docker=E5=86=85=E5=AE=B9=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/others/maintain/docker/index.md | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/docs/others/maintain/docker/index.md b/docs/others/maintain/docker/index.md index f2b46e8..e8fb3ab 100644 --- a/docs/others/maintain/docker/index.md +++ b/docs/others/maintain/docker/index.md @@ -43,6 +43,57 @@ Docker是一个开源的容器化平台,它可以让开发者将应用程序 - 简化应用程序的管理和维护 - 方便的日志管理和监控 +## Docker的核心概念 + +### 1. Dockerfile +Dockerfile是一个文本文件,包含了一系列指令和参数,用于自动化构建Docker镜像。它定义了镜像的构建过程,包括: +- 基础镜像的选择(FROM) +- 环境变量的设置(ENV) +- 依赖包的安装(RUN) +- 文件的复制(COPY/ADD) +- 容器启动时执行的命令(CMD/ENTRYPOINT) +- 端口映射(EXPOSE)等 + +### 2. Docker镜像(Image) +Docker镜像是一个只读的模板,包含: +- 运行应用所需的完整环境 +- 应用程序的代码和依赖 +- 配置文件和运行时 +- 系统工具和函数库 + +特点: +- 分层结构,每一层代表一个Dockerfile指令 +- 可以基于基础镜像构建 +- 支持版本控制和标签管理 +- 可以在Docker Hub上共享和下载 + +### 3. Docker容器(Container) +容器是镜像的运行实例,具有以下特性: +- 提供独立的运行环境和资源空间 +- 可以启动、停止、删除和暂停 +- 支持数据持久化(通过数据卷) +- 可以与其他容器和外部网络通信 + +### 4. Docker Registry(镜像仓库) +用于存储和分发Docker镜像的服务,分为: +- 公共仓库(如Docker Hub) +- 私有仓库(企业内部使用) + +### 5. 概念之间的关系 +1. **Dockerfile → Image → Container** + - Dockerfile定义了如何构建镜像 + - 镜像是容器的模板 + - 容器是镜像的运行实例 + +2. **数据持久化** + - 容器是临时的,但可以通过数据卷(Volume)持久化数据 + - 多个容器可以共享同一个数据卷 + +3. **网络通信** + - 容器可以通过Docker网络互相通信 + - 支持端口映射到宿主机 + - 可以创建自定义网络隔离容器 + ## 实战案例:Vue2项目部署到Docker 下面我们将通过一个实际案例,演示如何将Vue2项目使用Docker和Nginx进行部署。