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

使用 Docker 打包和运行 Vue 应用

在现代开发中,Docker 是一个强大的工具,可以帮助开发者将应用及其依赖打包到一个轻量级的容器中。本文将基于你提供的 Dockerfile 示例,指导你如何使用 Docker 打包和运行一个 Vue 应用。

1. 项目准备

首先,确保你已经安装了 Node.js 和 Docker。然后,创建一个新的 Vue 项目(如果你还没有项目的话):

npm install -g @vue/cli
vue create my-vue-app
cd my-vue-app

2. 创建 Dockerfile

在项目根目录下创建一个名为 Dockerfile 的文件,内容如下:

FROM node:18

WORKDIR /opt/web
COPY . /opt/web/

# 安装特定版本的 pnpm
RUN npm install -g pnpm@9.15.0

# 设置 pnpm 的存储目录
RUN pnpm config set store-dir /root/.local/share/pnpm/store

# 设置 pnpm 的注册表和其他配置
RUN pnpm set registry https://registry.npmmirror.com/ && \
 pnpm config set ignore-workspace-root-check true

# 安装开发依赖
RUN pnpm add cross-env --save-dev

# 安装项目依赖
RUN pnpm install

EXPOSE 8080/tcp

CMD ["pnpm", "dev:daas"]

说明

  • 基础镜像:使用 Node.js 18 作为基础镜像。
  • 工作目录:设置工作目录为 /opt/web,所有后续命令将在此目录下执行。
  • 复制文件:将当前目录的所有文件复制到工作目录。
  • 安装 pnpm:全局安装特定版本的 pnpm。
  • 配置 pnpm:设置 pnpm 的存储目录和注册表。
  • 安装依赖:安装开发依赖和项目依赖。
  • 暴露端口:暴露 8080 端口,以便外部访问。
  • 启动命令:使用 pnpm 启动应用。

3. 构建 Docker 镜像

在项目根目录下,使用以下命令构建 Docker 镜像:

docker build -t cloud/console:v1 .

说明

  • -t cloud/console:v1:为镜像指定一个标签(名称)。
  • .:表示 Dockerfile 的上下文目录。

4. 运行 Docker 容器

构建完成后,可以使用以下命令运行 Docker 容器:

docker run -it  -p 18080:8080 cloud/console:v1

5. 访问应用

在浏览器中输入 http://localhost:18080,你应该能够看到你的 Vue 应用。

6. 常见问题

注册要记得打包镜像时忽略node_modules文件。否则会影响镜像生成!    


http://www.kler.cn/a/447768.html

相关文章:

  • Flutter组件————Container
  • node express服务器配置orm框架sequilize
  • React简单了解
  • OpenHarmony 3.2 网卡获取ip地址缓慢分析
  • 【Linux系统编程】:信号(2)——信号的产生
  • gpu硬件架构
  • Suno Api V4模型无水印开发「人声伴奏分离」 —— 「Suno Api系列」第7篇
  • 成方金融科技后端部分笔试题 - 解析
  • Pytorch | 利用VMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • Pytorch | 从零构建MobileNet对CIFAR10进行分类
  • 电子应用设计方案66:智能打印机系统设计
  • Vulkan 学习(11)---- Vulkan RenderPass 创建
  • Liunx下MySQL:表的约束
  • OpenTK 中帧缓存的深度解析与应用实践
  • Gemini 2.0:面向智能体时代的全新 AI 模型
  • 均值聚类算法
  • 【Jenkins】Declarative和Scripted两种脚本模式有什么具体的区别
  • 关于 node-sass 库在windows下编译错误
  • C#都可以找哪些工作?
  • 【机器人】机械臂轨迹和转矩控制对比
  • 语言学习大冒险:粤语、英语、西语的酸甜苦辣
  • 编写Linux系统rhel9的网络配置脚本
  • PYTHON 自动化办公:更改图片尺寸大小
  • Spring之我见 - 从IOC谈到AOP实现原理
  • YOLO模型分布式训练:步骤与操作方式
  • 【面经】python后端开发工程师