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

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;"]

相关文章:

  • 【HW系列】—Log4j2、Fastjson、Shiro漏洞流量特征
  • 超声成像系统解决方案AFE模拟前端
  • Vue开发系列——Vue 生命周期钩子 及常见知识点
  • Cisco Meraki(MR36) 踩坑指南
  • 线程池学习(一)
  • 小白成长之路-Linux操作系统-进程管理
  • JVM——Truffle:语言实现框架
  • JVM与JMM深度解析:从Java 8到Java 21的演进
  • 字符串day8
  • Python 如何让自动驾驶的“眼睛”和“大脑”真正融合?——传感器数据融合的关键技术解析
  • 弧度 = 弧长与半径的比值
  • Linux系统之cal命令的基本使用
  • QT6 关于使用MSVC2019,UI设计师自定义控件的制作和QT Cretor里面调用
  • 多模态简介
  • QTest应用迷城
  • 命象架构法 02|你的系统有“用神”吗?
  • Opera Neon发布该公司首款“AI代理”浏览器
  • 蛋白质研究用蛋白酶购买渠道推荐
  • 智汇云舟携最新无人机2D地图快速重建技术亮相广西国际矿业展览会
  • Java+POI+EXCEL导出柱形图(多列和单列柱形图)
  • O2O网站制作需要多少钱/网站创建的流程是什么
  • 广州网站建设吧/厦门seo招聘
  • 做网站是找什么人/免费推广引流平台
  • 建设小游戏网站空间类型选择/seo优化前景
  • 电商运营要学多久/seo搜索引擎优化工资
  • 企业网站建设研究论文/seo从零开始到精通200讲解