当前位置: 首页 > ds >正文

Docker 前端镜像容器部署指南

1. 编写 Dockerfile 文件

# 使用轻量级的 Nginx Alpine 作为基础镜像
FROM nginx:alpine# 设置工作目录
WORKDIR /usr/share/nginx/html# 删除默认的 Nginx 静态文件
RUN rm -rf ./*# 复制本地 dist 目录下的文件到容器中
COPY ./dist /usr/share/nginx/html# 暴露容器端口
EXPOSE 80

2. 构建 Docker 镜像

docker build -t images-name:tag .
参数/选项说明
-t为镜像指定名称和标签
images-name自定义的镜像名称
:tag镜像标签(如 :v1.0, :latest)
.指定 Dockerfile 所在目录(当前目录)

3. 运行容器

docker run -d -p 21002:80 --name container-name images-name:tag
参数/选项说明
-d后台运行容器(detached 模式)
-p端口映射(主机端口:容器端口)
21002:80将主机的 21002 端口映射到容器的 80 端口
--name为容器指定一个名称
container-name自定义的容器名称
images-name:tag要运行的镜像名称和标签

如果不指定容器名称,则--name container-name可以去掉

4. 常用管理命令

# 查看运行中的容器
docker ps# 查看所有容器(包括停止的)
docker ps -a# 停止容器
docker stop container-name# 启动已停止的容器
docker start container-name# 删除容器
docker rm container-name# 删除镜像
docker rmi images-name:tag# 查看容器日志
docker logs container-name

5. 最佳实践建议

  1. 多阶段构建:对于复杂项目,考虑使用多阶段构建减小镜像体积
  2. .dockerignore:创建 .dockerignore 文件排除不必要的文件
  3. 版本标签:避免使用 latest 标签,推荐使用语义化版本
  4. 健康检查:添加 HEALTHCHECK 指令确保应用健康
  5. 非 root 用户:考虑使用非 root 用户运行容器增强安全性

6. 多阶段构建示例(适用于复杂前端项目)

# 构建阶段
FROM node:alpine as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build# 生产阶段
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
http://www.xdnf.cn/news/9718.html

相关文章:

  • 创建型设计模式之Prototype(原型)
  • c/c++的opencv图像金字塔缩放
  • 【代码训练营Day01】数组part1
  • Linux进程间通信----管道
  • 人员睡岗检测算法AI智能分析网关V4打造工业/安防/交通等多场景应用方案
  • VMware安装Ubuntu实战分享大纲
  • Apifox 5 月产品更新|数据模型支持查看「引用资源」、调试 AI 接口可实时预览 Markdown、性能优化
  • 蓝牙芯片投影仪遥控器方案
  • 网络出版服务许可证年检
  • MySQL数据库学习笔记
  • openFuyao开源发布,建设多样化算力集群开源软件生态
  • 【大模型】Bert
  • 计算机网络 | 1.1 计算机网络概述思维导图
  • Nginx代理、缓存与Rewrite
  • 使用LSTM进行时间序列分析
  • 流程自动化引擎:让业务自己奔跑
  • C++031(变量的存储类型-auto变量)
  • 塔能空化泵节能方案:工厂能耗精准控制的革新之选
  • 博图SCL基础知识-寻址调用及新建SCL
  • 记一次前端逻辑绕过登录到内网挖掘
  • 计算机内存管理全解析:从基础原理到前沿技术(含分页/分段/置换算法/大页/NVM/CXL等技术详解
  • C++ explicit关键字有什么作用
  • Dify+MCP Server打造禅道AI智能助手
  • LeetCode 136:只出现一次的数字 - 巧用异或运算的极致解法
  • Open3D上可视化Nuscenes 数据集
  • 谷歌浏览器Google Chrome v137.0.7151.41 中文版本版+插件 v1.11.1
  • 【Echarts】象形图
  • : influxdb + grafana+JMeter
  • 自回归建模模型(AR)
  • C++进阶--C++11(03)