Skip to content

Commit

Permalink
feat: docker内容补充
Browse files Browse the repository at this point in the history
  • Loading branch information
clh committed Jan 24, 2025
1 parent 3785b1a commit 4858391
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions docs/others/maintain/docker/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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进行部署。
Expand Down

0 comments on commit 4858391

Please sign in to comment.