小知识:Docker使用nodejs镜像构建express服务的方法

1 nodejs容器的启动

安装docker

curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun

启动docker

systemctl start docker

拉取轻量级的nodejs镜像

docker pull node:slim

推荐拉取最稳定的nodejs版本:

docker pull node:16.16.0-slim

%小知识:Docker使用nodejs镜像构建express服务的方法-猿站网-插图

启动nodejs容器,事先指定好端口映射,容器内的8000端口映射主机的7000端口,容器内的8000供接下来启动的nodejs服务使用

docker run -itd -p 7000:8000 –name node-test node:slim

查看是否启动:

docker ps -a

%小知识:Docker使用nodejs镜像构建express服务的方法-1猿站网-插图

2 安装nodejs第三方依赖模块

进入到容器中安装nodejs的第三方依赖包

docker exec -it 6976215ae574 /bin/bash

可以打印node的版本:

%小知识:Docker使用nodejs镜像构建express服务的方法-2猿站网-插图

配置nodejs模块的全局变量路径,首先打印下默认的模块lib所在目录

npm prefix –g

%小知识:Docker使用nodejs镜像构建express服务的方法-3猿站网-插图

向/etc/profile文件中写入nodejs模块所在目录路径:

cat >> /etc/profile <<EOF

%小知识:Docker使用nodejs镜像构建express服务的方法-4猿站网-插图

输入如下内容:

export NODE_PATH=/usr/local/lib/node_modules

%小知识:Docker使用nodejs镜像构建express服务的方法-5猿站网-插图

然后使环境变量生效:

source /etc/profile

安装express服务需要的第三方模块:

npm install -g expressnpm install -g body-parser

3 启动nodejs服务

主机中新建一个test.js文件,内容如下:

var express = require(“express”); const bodyParser = require(“body-parser”); var app = express(); app.use(bodyParser.json()); app.get(“/”, function(req, res){ res.send(“welcome to my server!”); }); // POST 请求 app.post(“/”, function (req, res) { console.log(req.body); res.send(“Hello POST”); }) var server = app.listen(8000, function () { console.log(“服务已启动…….”); })

输入exit退出容器回到主机,把这个js文件复制到容器中:

docker cp test.js 6976215ae574:/

重新进入容器中,可以发现从主机复制过来的js文件

%小知识:Docker使用nodejs镜像构建express服务的方法-6猿站网-插图

启动服务:

node test.js

服务启动成功后,在主机中访问7000端口,既可以访问这个nodejs服务:

%小知识:Docker使用nodejs镜像构建express服务的方法-7猿站网-插图

到此这篇关于Docker使用nodejs镜像构建express服务的文章就介绍到这了,更多相关Docker构建express服务内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_37781464/article/details/125999429

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:ubuntu22通过docker安装wechat启动后无界面的问题及解决方法

2023-3-4 13:24:31

建站知识

小知识:什么是CMOS?

2023-3-4 13:28:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索