docker-vitepress/README.md
2024-11-03 12:26:45 +08:00

66 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 可以用docker一键启动的 VitePress 文档工程
本项目提供了一种简单的方式来容器化 VitePress 文档网站。通过使用 Docker 和一些辅助脚本,您可以方便地构建、管理和部署您的文档项目。
## 介绍
本工程可以自动将VitePress生成的静态站点打包到docker镜像内包括自定义的nginx配置文件当镜像构建成功后可以直接分发到目标主机不需要携带任何额外的主机文件。
## 系统依赖
- docker
- nodenpm、npx
## 项目结构
- `server.sh`:用于管理 Docker 容器的脚本。
- `build.sh`:用于构建 Docker 镜像的脚本。
- `Dockerfile`:定义了 Docker 镜像的构建过程。
- `.env`:环境变量配置文件,用于存储容器和镜像的相关信息。
## 功能介绍
### server.sh
`server.sh` 脚本用于管理 VitePress 文档网站的 Docker 容器。它支持以下操作:
- **start**:启动 VitePress 文档容器,如果容器已存在且正在运行,则会提示相应消息。
- **stop**:停止并删除正在运行的 VitePress 文档容器。
- **restart**:重启容器,包括构建新的镜像和替换容器。
- **clear**:清理容器及其所有同名镜像,执行前会请求用户确认。
#### 使用方法
```bash
./server.sh start # 启动容器
./server.sh stop # 停止并删除容器
./server.sh restart # 构建新镜像并重启容器
./server.sh clear # 清理容器和所有同名镜像,需确认
```
### build.sh
`build.sh` 脚本用于构建 `Docker` 镜像。它读取 `Dockerfile` 并根据定义的步骤构建出适用于 `VitePress` 文档的网站镜像。该脚本在开始时会检查必要的文件和依赖环境,确保镜像构建的成功。
### Dockerfile
`Dockerfile` 用于定义 `Docker` 镜像的结构和行为。它指定了基础镜像、安装依赖、复制源代码以及设置启动命令等步骤。该文件是构建 `VitePress` 镜像的基础,`build.sh` 会利用它来生成最终镜像。
### .env 文件
`.env` 文件用于存储环境变量,包括容器名称、镜像名称和标记等。通过在 `server.sh``build.sh` 脚本中加载这些变量,可以灵活管理镜像和容器信息。例如,您可以在 `.env` 文件中定义以下变量:
```dotenv
CONTAINER_NAME=my-vitepress-docs
IMAGE_NAME=my-vitepress-image
IMAGE_TAG=latest
```
这些信息在容器管理和镜像构建过程中被引用,以确保操作一致性。
## 总结
本项目通过脚本和 Docker 自动化了 VitePress 文档的管理、构建和部署过程,使得文档开发的流程更加高效。您只需根据提供的使用说明即可轻松启动和管理您的文档项目。
如有任何问题,欢迎提问或提交问题反馈。