搭建nodejs运行环境,使用了node容器运行

1.安装运行node image

docker pull node:latest

docker run -itd --name mynode node

2.准备将编译后的代码上传到主机上

3.编写dockerfile并制作镜像

s

# 引用镜像
FROM node:latest
# 作者
MAINTAINER hzh

# 执行命令,创建文件夹
RUN mkdir -p /var/publish/nest
# 将nestapi目录拷贝到镜像里,也可用COPY命令
ADD ./nestapi /var/publish/nest
# 执行镜像的工作目录
WORKDIR /var/publish/nest

# 配置系统变量,指定端口
ENV HOST 0.0.0.0
ENV PORT

# 开放端口
EXPOSE 3002 # 容器启动命令
CMD ["node","dist/main.js"]

创建了Dockerfile之后,构建出镜像

注意后面的那个点一定要写

docker build -t hzh/nestapi:v1 .

因为要拷贝node_modules,比较慢

4.运行容器

docker run -d -p 3002:3002 --name nestapiv1 hzh/nestapi:v1

5.查看容器

docker exec -it 4e75d857045a bash

6.发现报错查看日志

docker logs -f 4e75d857045a

7.需要修改容器内的配置文件

先将容器内的文件copy到主机,然后修改好了在copy回去

docker cp 4e75d857045a:/var/publish/nest/dist/config/index.js /tmp/

docker cp /tmp/index.js 4e75d857045a:/var/publish/nest/dist/config/

8.成功运行

日志不报错,成功运行

参考:

docker 制作node基础镜像运行js项目

https://blog.csdn.net/du771278794/article/details/89851936

菜鸟学院

https://www.runoob.com/docker/docker-install-node.html

docker 部署nestjs应用的更多相关文章

  1. docker部署nodejs项目应用

    之前笔者弄了一套nestjs项目放在自己服务器上,并用pm2管理进程. 现在要把pm2停止,尝试一下用docker容器,那么首先要安装docker 一.安装docker 由于笔者服务器的系统是cent ...

  2. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  3. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  4. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  5. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  6. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  7. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  8. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  9. NET Core Docker部署

    NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...

随机推荐

  1. javascript序列化表单追加参数

    js序列化表单后追加参数方式: 追加参数:token,status var data = $.param({"token":token, "status":st ...

  2. vue组件上动态添加和删除属性

    1.vue组件上动态添加和删除属性 // 添加 this.$set(this.obj, 'propName', val) // 删除 this.$delete(this.obj, 'propName' ...

  3. iview-admin本地测试上线登陆问题和文件路径找不到问题

    在项目中vue.config.js下修改上线路径(图中我修改为:根目录路径) 测试本地上线登陆出现问题: 在main.js下if (process.env.NODE_ENV !== 'producti ...

  4. 高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

    HashMap.CurrentHashMap 的实现原理基本都是BAT面试必考内容,阿里P8架构师谈:深入探讨HashMap的底层结构.原理.扩容机制深入谈过hashmap的实现原理以及在JDK 1. ...

  5. 在iframe内页触发顶层页面body的blur事件

    //在iframe内页触发顶层页面body的blur事件. if (window != top) { $(document.body).click(function () { $(top.docume ...

  6. synchronize与lock

    1. synchronize的作用 synchronize是java最原始的同步关键字,通过对方法或者代码块进行加锁实现对临界区域的保护.线程每次进去同步方法或者代码块都需要申请锁,如果锁被占用则会等 ...

  7. django2以后的版本Foreignkey的变动

    目录 class User(AbstractUser): """用户表""" job = models.ManyToManyField(to ...

  8. [转]理解Linux的性能

    来源:http://www.linuxfly.org/post/114/ [转]理解Linux的性能       项目中常遇到需要对目前运行的系统进行效率分析,或碰到客户咨询如何优化系统的效率问题.更 ...

  9. jenkins中的流水线( pipeline)的理解(未完)

    目录 一.理论概述 Jenkins流水线的发展历程 什么是Jenkins流水线 一.理论概述 pipeline是流水线的英文释义,文档中统一称为流水线 Jenkins流水线的发展历程 ​ 在Jenki ...

  10. Python 虚拟空间的使用

    使用虚拟环境, 可以将当前项目所使用的依赖与电脑中其他 Python 项目的依赖区分开, 避免依赖版本不匹配带来的问题, 同时也可以防止项目依赖被不当更新. mkdir myproject cd my ...