Docker 网页项目
时间: 2025-02-21 07:11:28 浏览: 27
### 使用 Docker 部署网页项目的流程
为了使用 Docker 成功部署网页项目,需先确保本地环境已安装 Docker[^1]。
#### 准备工作:创建 `Dockerfile`
对于大多数基于 Node.js 的前端项目(如 React),通常会有一个名为 `Dockerfile` 的文件来定义构建镜像所需的指令。下面是一个适用于 React 应用程序的简单示例:
```dockerfile
# 基础镜像采用官方 node 版本作为构建阶段的基础镜像
FROM node:alpine AS builder
# 设置工作目录
WORKDIR /app
# 将 package.json 和 package-lock.json 复制到容器内并安装依赖
COPY ./package*.json ./
RUN npm install
# 把源码复制进去
COPY . .
# 构建应用
RUN npm run build
# 生产环境使用的轻量级 Nginx 容器用于服务静态资源
FROM nginx:stable-alpine
# 删除默认配置
RUN rm -rf /usr/share/nginx/html/*
# 将上一步骤中的构建成果拷贝至当前镜像的工作目录下
COPY --from=builder /app/build /usr/share/nginx/html
# 暴露80端口供外部访问
EXPOSE 80
# 启动命令,默认启动Nginx
CMD ["nginx", "-g", "daemon off;"]
```
此脚本分为两个部分:首先是利用 Node.js 来编译打包 Webpack 或其他工具生成的内容;其次是通过 NGINX 提供这些已经预处理好的静态文件给最终用户。
#### 执行构建过程
完成上述准备工作之后,在终端执行如下命令即可开始制作自定义镜像:
```bash
docker build -t my-web-app .
```
这将会读取位于当前路径下的 `Dockerfile` 并按照其中指示逐步操作直至形成一个新的 Docker 映像。
#### 运行容器实例
最后要做的就是把刚刚建立起来的新映像跑起来啦!
```bash
docker run -d -p 8080:80 --name webapp-container my-web-app
```
这条语句表示以后台模式开启新进程,并将主机上的 8080 端口号映射到容器内部的服务地址之上以便于测试或实际生产环境中对外提供 HTTP 请求响应功能。
阅读全文
相关推荐


















