手机版

在Docker中快速部署Node.js应用程序的详细步骤

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

一、前言

可能有些学生不知道docker项目。docker是用go语言编写的,这是一个轻量级的虚拟技术项目,可以快速部署。它允许开发人员将他们的程序与运行环境打包,并制作docker的图像。部署到服务器上,只需要下载这个镜像就可以运行程序,避免了每次安装各种依赖和环境的麻烦,还可以隔离应用。

二、实现的准备

我将创建一个简单的Node.js web应用程序来构建镜像。然后运行基于此图像的容器。从而实现快速部署。

因为网络的原因,我的Node.js镜像是从国内镜像库中下载的,而不是Docker Hub。

首先从国内图片网站拉nodejs图片。

码头工人拉hub.c.163.com/nce2/nodejs:0.12.2

下载后,检查我们的图像,找到他的名字,我们将在以后使用

第三,创建Node.js程序

创建package.json并编写相关信息和依赖项

VI package . JSON { ' name ' : ' web test ',' version': '1.0.0 ',' description ' : ' node . js on Docker ',' author': 'lpxxn ',Main' :' server.js ',' scripts ' : { ' start ' : ' nodeserver . js ' },' dependencies ' : { ' express ' 3: ' 4 . 13 . 3

Vi server.js写最简单的web,基于express框架,返回Hello word。请注意,我们正在监听端口8888

使用“严格”;var express=require(' express ');var PORT=8888var app=express();app.get('/'),function (req,RES){ RES . send(' Hello world \ n ');});app . listen(PORT);console.log('在http://localhost: '端口上运行);第四,创建Dockerfile

接下来,主角扮演创建Dockerfile文件的角色,这是创建镜像所必需的

vi DockerfileDocker将根据Dockerfile的内容构建镜像。我先给出完整的代码,然后逐行解释

来自hub.c.163.com/nce2/nodejs:0.12.2#创建应用程序目录运行mkdir-p/home/Service workdir/home/Service #捆绑应用程序源副本。/home/Service run NPM install expose 8888 cmd[' NPM ',' start']让我们一句一句地解释一下

来自hub.c.163.com/nce2/nodejs:0.12.2FROM是建图的基本来源Image,hub.c.163.com/nce2/nodejs:0.12.2是图的名字,也就是我们一开始从国内服务器上拉下来的图。如果本地没有Docker,它会自己拉图像。

#创建app目录RUN mkdir-p/home/serviceworkdir/home/service第一句RUN用于在Image中创建一个文件夹,这将用于保存我们未来的代码。

WORKDIR的第二句话是使用我们创建的文件夹作为工作目录。

#捆绑app源COPY。/home/Service run NPM安装副本第一句话是将本机当前目录下的所有文件复制到映像的/home/Service文件夹中。

第二句中的RUN使用npm来安装我们的应用程序需要的所有依赖项。

EXPOSE 8888由于我们的web应用程序监控端口8888,因此我们将此端口暴露给主机,以便我可以从外部访问web。

CMD ['npm ',' start']我相信你不用解释就能看出他在做什么。运行npm start命令,该命令将运行nodeservice.js。

启动我们的网络应用。

第五,树立形象

在Dockerfile文件所在的目录中运行以下命令来构建映像。

docker build-t my nodeap。别忘了最后一点

在建立我们的形象后,看一看它

第六,运行图像

Docker run-d -p8883360888ac5-d表示容器将在后台运行,而-p表示端口映射,将本机的8888商品映射到容器的8888端口,这样外部网络就可以通过本机的8888商品访问我们的web。

后面的Ac5是我们image的ID,因为前三个Image已经可以定位到这个图像了,所以后面的那个我就不写了。

检查我们刚刚通过码头工人检查的集装箱的标识

打印日志7370是我们的容器标识。像图像ID,也可以全部写出来。如果我很懒,我会写前四个数字,这足以识别这个容器

码头工人日志7350

如果你认为可以在Container中执行以下命令,那么进入之后就可以像普通的linux一样操作了。如果您想退出,请执行退出命令。

七.测试

让我们看看能否通过curl访问我们的网站。

curl-I localhost :8888

您也可以通过浏览器查看

八.摘要

好了,这个小教程到此结束。大家都学会了吗?希望这篇文章能帮你入门。如果你有任何问题或疑问,可以留言交流。谢谢你的支持。

版权声明:在Docker中快速部署Node.js应用程序的详细步骤是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。