热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Docker将vue前端项目构建成容器镜像并运行

本文主要介绍关于docker,vue.js,容器的知识点,对使用Docker将vue前端项目构建成容器镜像并运行和使用docker部署vue项目有兴趣的朋友可以看下由【雨云21】投稿的技术文章,希望该

本文主要介绍关于docker,vue.js,容器的知识点,对使用Docker将vue前端项目构建成容器镜像并运行和使用docker部署vue项目有兴趣的朋友可以看下由【雨云21】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的Docker相关技术问题。

使用docker部署vue项目

将项目构建成容器镜像,然后再使用Docker运行该容器镜像

找一个能正常运行的项目

这里提供了一个待办事项项目的源码:https://yuyunyaohui.lanzoul.com/iRG4o06ht6nc,下载后解压:

image-20220616115048827

用前端项目编辑器,比如Visual Studio Code或WebStorm打开:

运行以下命令下载依赖和运行:

npm install --registry=https://registry.npm.taobao.org
npm run dev

image-20220616115244773

运行完成后在浏览器中访问http://localhost:3000/

image-20220616115407040

构建应用的容器镜像

package.json文件的同级目录下,新建一个Dockerfile文件,注意:该文件没有文件扩展名

FROM node:12-alpine
# Adding build tools to make yarn install work on Apple silicon / arm64 machines
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]

image-20220616141914165

在Dockerfile文件的当前目录打开命令行工具:按住Shift,鼠标右键,选择下图圈起来的其中一个

image-20220616142314851

运行下面的命令:

docker build -t getting-started .
-t 标签 getting-started 自定义标签名 . 表示Docker应该在当前目录找Dockerfile

image-20220615174631861


经过漫长的等待,如上图所示,镜像构建完成,接下来打开Docker Desktop就可以看到该镜像:

image-20220615174724492

启动容器

使用命令启动容器,并指定刚刚创建的镜像的名称(用命令行工具直接运行):

docker run -dp 3000:3000 getting-started

-d-p标志着:我们以“分离”模式(在后台)运行新容器,并在主机的 3000 端口和容器的 3000 端口之间创建映射。没有端口映射,我们将无法访问应用程序(直接打开Docker Desktop运行镜像,我们并不能访问他)。

image-20220616143540449

几秒钟后,打开 Web 浏览器访问http://localhost:3000。可以看到我们的应用程序!

image-20220616143623324

打开Docker仪表盘,就发现容器正在运行

image-20220616144003834

如果我将命令改为:

docker run -dp 3001:3000 getting-started

那我们浏览器访问http://localhost:3001/,才能访问到项目,前面这个3001是主机端口,后面那个3000是docker容器端口

本文《使用Docker将vue前端项目构建成容器镜像并运行》版权归雨云21所有,引用使用Docker将vue前端项目构建成容器镜像并运行需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • VUE中引用路径的配置
    在vue项目开发中经常引用JS、CSS、IMG文件。当项目较大时文件层级很多,导致路径很长,我们可以通过在bulidwebpack.base.conf.js设置简便的引用路径一、 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • python限制递归次数(python最大公约数递归)
    本文目录一览:1、python为什么要进行递归限制 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • 1、前端代码需要引入:element.min.cssvue.min.jselement.min.jsaxios.min.js  nuget里面可添加 ... [详细]
  • Vue cli2.0 项目中使用Monaco Editor编辑器
    monaco-editor是微软出的一条开源web在线编辑器支持多种语言,代码高亮,代码提示等功能,与VisualStudioCode功能几乎相同。在项目中可能会用带代码编 ... [详细]
  • Node.js详细安装及环境配置
    1、下载安装根据自己电脑系统及位数选择,我这里选择windows64位.msi格式安装包(官网:https:odejs.orgzh-cndownload).msi和.zip格式区别 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
author-avatar
卖火柴的茹公主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有