iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >docker中编译nodejs并使用nginx启动
  • 340
分享到

docker中编译nodejs并使用nginx启动

dockernodejsnginx 2022-06-04 17:06:39 340人浏览 薄情痞子
摘要

1.编译Nodejs 要进行nodejs编译,使用Docker就变得非常的方便了。 首先从hub.docker.com下载最新的镜像。https://hub.docker.com/_/node/ 一般的项

1.编译Nodejs

要进行nodejs编译,使用Docker就变得非常的方便了。

首先从hub.docker.com下载最新的镜像。https://hub.docker.com/_/node/

查看图片

一般的项目都使用的是node6的镜像。

docker pull node:6-alpine

然后就可以直接使用npm install了。

Alpine是一个非常小的操作系统,在编译,运行docker非常喜欢使用这个系统,因为小,占用磁盘小,下载速度快,部署也快。

节省磁盘空间,节省部署时间。

2.使用docker镜像提前下载库

但是遇到一个问题,就是下载编译的时间太长了。

一般使用nodejs进行开发的时候都有一个package.JSON 里面具体的项目依赖 包,下载这个依赖需要很长时间。一般使用阿里云的镜像安装。

npm install --reGIStry=Https://registry.npm.taobao.org

而在使用docker 进行构建,编译的时候每次都是要下载这些依赖。大大增加了编译的时间。


FROM docker.io/library/node:6-alpine

RUN echo -e "http://mirrors.aliyun.com/alpine/v3.4/mainn

http://mirrors.aliyun.com/alpine/v3.4/commUnity" > /etc/apk/repositories

COPY package.json /root/

RUN cd /root && npm install --registry=https://registry.npm.taobao.org

可以提前将镜像下载好,然后在编译。做一个基础的镜像。如下:

构建这个基础镜像:

docker build -t my-demo/node6-alpine:latest .

在利用这个镜像进行编译:


#!/bin/sh

mkdir /app && cd /app

git clone xxx.git /app

ln -s /root/.gnupg /app/.gnupg

ln -s /root/.npm /app/.npm

ln -s /root/node_modules /app/node_modules

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

npm run build

build.sh

然后利用这个基础镜像进行编译,生气了之前的instal 过程。

期中的node_modules是node的模块文件夹。编译后的文件在dist文件夹内。

3.使用nginx启动

首先从https://hub.docker.com/_/Nginx/ 下载一个镜像:

查看图片


FROM docker.io/library/nginx:1-alpine

ADD ./dist/* /usr/share/nginx/html/

EXPOSE 80

ENTRYPOINT ["nginx","-g","daemon off;"]

使用nginx镜像启动,直接将node编译后的文件放到html目录

编译docker :

docker build -t my-demo/nginx:latest .

启动docker:

docker run -itd -p 8080:80 my-demo/nginx:latest

然后直接访问 8080 端口就可以了。

总结

(首发,请勿转载。)

现在前后端的拆分,可以提高开发效率。但是部署起来稍微麻烦,需要前后的分别进行编译,前端编译也需要很长时间。可以提前将依赖库大成一个node基础镜像,然后再进行编译,这样可以大大的提高编译时间。同时运行环境使用一个nginx,将html,CSS,js等资源文件都放上,也才20多MB。而且在nginx中也可以将后台api在进行配置,将前后端集成进来。同时docker的镜像大大的提高了开发效率,环境的安装问题一下子得到了解决。

--结束END--

本文标题: docker中编译nodejs并使用nginx启动

本文链接: https://www.lsjlt.com/news/12540.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Angular怎么编译打包并使用Docker发布
    这篇文章给大家分享的是有关Angular怎么编译打包并使用Docker发布的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。环境:Angular CLI: 11.0.6Angular: 11.0.7Node: 12....
    99+
    2023-06-15
  • Docker中怎么使用nodejs
    Docker中怎么使用nodejs,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Docker介绍Docker 是一个开源项目,诞生于 20...
    99+
    2024-04-02
  • 关于使用rust调用c++静态库并编译nodejs包的问题
    目录一、创建项目二、Cargo.toml三、package.json四、代码分析在项目上经常要用到身份证阅读器、护照阅读仪、指纹仪等各种品牌硬件,假如每套系统的都做集成开发那代码的维...
    99+
    2022-11-13
    rust调用c++静态库 c++编译nodejs包
  • Docker中怎么编写dockerfile启动node.js应用
    本文小编为大家详细介绍“Docker中怎么编写dockerfile启动node.js应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Docker中怎么编写dockerfile启动node.js应用”文章...
    99+
    2022-12-02
    docker dockerfile node.js
  • Linux上怎么使用docker启动redis并远程访问
    这篇文章主要介绍“Linux上怎么使用docker启动redis并远程访问”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux上怎么使用docker启动redis并远程访问”文章能帮助大家解决问...
    99+
    2023-07-05
  • Jenkins 远程启动nodejs失败,使用pm2守护Nodejs
    使用Jenkins 远程ssh到linux,使用命令:ssh root@192.168.10.1 'cd /data/test;nohup npm start &&...
    99+
    2023-01-31
    nodejs Jenkins Nodejs
  • Docker中怎么使用dockerfile启动node.js应用
    这篇文章主要介绍“Docker中怎么使用dockerfile启动node.js应用”,在日常操作中,相信很多人在Docker中怎么使用dockerfile启动node.js应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-04
  • 如何使用 Docker 启动 MySQL 服务,并从安装 Docker 开始进行
    Docker 是一款非常流行的应用容器化平台,可以快速的创建、打包、交付和运行应用程序。它极大地简化了应用程序的部署和管理,特别适用于云上运行的应用。本文将介绍如何使用 Docker 启动 MySQL 服务,并从安装 Docker 开始进行...
    99+
    2023-08-31
    docker mysql 容器
  • Docker怎么编写dockerfile启动node.js应用
    这篇文章主要讲解了“Docker怎么编写dockerfile启动node.js应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么编写dockerfile启动node.js应用...
    99+
    2023-06-17
  • Linux上使用docker启动redis并远程访问的实现
    目录一、Centos7 上安装 docker二、docker 安装 Redis 并启动总结一、centos7 上安装 docker 1、安装必要的一些系统工具 yum install -y yum-utils devic...
    99+
    2023-04-06
    Linux docker docker启动redis redis远程访问
  • 在Linux中如何编译并安装ixgbe驱动
    本篇内容介绍了“在Linux中如何编译并安装ixgbe驱动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!i...
    99+
    2024-04-02
  • Docker如何使用dockerfile启动node.js应用
    本篇内容介绍了“Docker如何使用dockerfile启动node.js应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2024-04-02
  • 怎么使用Docker容器搭建android编译环境
    本篇内容介绍了“怎么使用Docker容器搭建android编译环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 部署容器1.1 手动部署...
    99+
    2023-07-02
  • Mac上如何使用Docker Desktop启动Kubernetes
    本篇内容主要讲解“Mac上如何使用Docker Desktop启动Kubernetes”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mac上如何使用Docker Desktop启动Kuberne...
    99+
    2023-06-03
  • 怎么在docker容器中成功启动redis并进入
    这篇文章主要介绍怎么在docker容器中成功启动redis并进入,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先需要通过docker搜索与redis有关的镜像源docker&nbs...
    99+
    2024-04-02
  • 本地编译打包项目部署到服务器并且启动方式
    目录一、idea打包项目二、在项目目录target下可以找到已经打包的文件三、启动四、当然也可以通过cmd命令打包项目总结一、idea打包项目 第一步点击右边maven第二步点击co...
    99+
    2023-02-25
    本地编译 打包项目部署 部署服务器
  • 如何使用webpack4编译并压缩ES6代码
    这篇文章将为大家详细讲解有关如何使用webpack4编译并压缩ES6代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前段时间第一次接触了layabox游戏引擎做了一个项...
    99+
    2024-04-02
  • Qt中QZXing的编译与使用
    目录0.前言1.编译2.二维码生成3.二维码识别0.前言 zxing 是一个开源的一维/二维条码图像处理库,当前版本为 Java 语言开发: https://github.com/z...
    99+
    2024-04-02
  • Docker如何使用start命令启动容器
    小编给大家分享一下Docker如何使用start命令启动容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用start命令启动...
    99+
    2024-04-02
  • docker启动rabbitmq以及使用方式详解
    目录搜索rabbitmq镜像下载镜像启动容器打印容器访问RabbitMQ Management编写生产者类消费者工作队列RabbitMqUtils工具类启动2个工作线程启动发送线程消...
    99+
    2022-11-13
    docker运行rabbitmq rabbitmq docker 启动rabbitmq命令
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作