经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
Docker部署Nuxt.js项目的实现
来源:jb51  时间:2021/2/1 13:48:37  对本文有异议

Docker官方文档: https://docs.docker.com/

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

使用 docker 部署 nuxt.js 项目

1、构建 node 镜像

  1. FROM node:alpine

为啥使用 alpine 版本?

相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制。官方镜像来自 docker-alpine 项目。 目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。

2、设置项目保存目录

  1. RUN mkdir -p /app/src

3、复制项目代码到镜像

  1. COPY ./src /app/src

4、指定命令执行的目录

  1. WORKDIR /app/src

5、设置 host

  1. ENV HOST 0.0.0.0

6、执行项目安装及编译

  1. RUN npm install RUN npm run build RUN npm cache clean --force

7、设置外部访问端口

  1. EXPOSE 3000

8、执行 nuxt 项目运行命令

  1. CMD ["npm", "start"]

完整的 Dockerfile 文件

  1. FROM node:alpine
  2.  
  3. RUN mkdir -p /app/src
  4. COPY ./src /app/src
  5. WORKDIR /app/src
  6.  
  7. ENV HOST "0.0.0.0"
  8.  
  9. RUN sed -i "s/dl-cdn.alpinelinux.org/${ALPINE_REPOSITORIES}/g" /etc/apk/repositories
  10.  
  11. RUN apk add --no-cache make gcc g++ python
  12.  
  13. RUN npm install
  14. RUN npm run build
  15. RUN npm cache clean --force
  16.  
  17. RUN apk del make gcc g++ python
  18.  
  19. EXPOSE 3000
  20. CMD ["npm", "start"]
  21.  

当在项目中使用 sass 或者 scss 时,需依赖 python 环境,所以需要安装 python,当然在编译相关资源后,可以删除相应的依赖以减小镜像体积。

运行 Docker

1、构建镜像

  1. docker build -t nuxt-demo

2、启动容器

  1. docker run -dt -p 3000:3000 nuxt-demo

3、访问

打开浏览器,访问 127.0.0.1:3000

1、可以用 Docker Compose 对容器进行编排,快速的部署多容器应用。
2、可以用 nginx 对容器进行代理,避免直接以端口的形式访问容器。

到此这篇关于Docker部署Nuxt.js项目的实现的文章就介绍到这了,更多相关Docker部署Nuxt.js内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号