66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
# 可以用docker一键启动的 VitePress 文档工程
|
||
|
||
本项目提供了一种简单的方式来容器化 VitePress 文档网站。通过使用 Docker 和一些辅助脚本,您可以方便地构建、管理和部署您的文档项目。
|
||
|
||
## 介绍
|
||
|
||
本工程可以自动将VitePress生成的静态站点打包到docker镜像内,包括自定义的nginx配置文件,当镜像构建成功后可以直接分发到目标主机,不需要携带任何额外的主机文件。
|
||
|
||
## 系统依赖
|
||
|
||
- docker
|
||
- node(npm、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 文档的管理、构建和部署过程,使得文档开发的流程更加高效。您只需根据提供的使用说明即可轻松启动和管理您的文档项目。
|
||
|
||
如有任何问题,欢迎提问或提交问题反馈。
|