Node.js 使用 Docker 部署

开始之前,我假设你的电脑上已经安装了Docker,如果没有安装过,请自行搜索相应的安装方式。
一、创建容器
首先打开Docker Store,在首页的搜索框抛入node寻找我们需要的合适镜像。
点击进去之后,看到右上角的拉取镜像命令,复制它到你的命令行终端中执行一下,即可将当前镜像安装到你的设备上。
1 | |
接下来利用此镜像创建一个新容器
1 | |
docker run,创建一个新容器-i,让Docker的标准输入保持打开,允许用户与容器进行交互-d,在后台运行Docker-t,让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上8080,我们一会儿要在nodejs服务中使用的端口8888,Docker用来暴露给外部访问的端口bin/bash,启动Docker的bash终端
不出意外的话,现在你已经成功的启动了一个Docker,运行此命令可以看到当前正在运行的所有Docker
1 | |
二、编写nodejs应用
假设我们打算使用express来启动一个静态服务器,用来输出一行文本Hello World。
首先执行npm init初始化一个package.json文件,然后执行npm install express --save,安装express依赖包
1 | |
执行vi service.js,编写nodejs代码:
1 | |
注意:此处的PORT要与上面我们创建Docker时用的8080端口保持一致。
编写完毕,可以先在本机执行node service.js测试一下,看服务是否正常。
三、将nodejs应用复制到Docker里
执行docker ps命令,查看Docker的CONTAINER ID
1 | |
docker cp ./ cc53e1cefcf5:/var/node
1 | |
docker attach cc53e1cefcf5
ls /var/node
1 | |
Error: Path not specified
1 | |
docker run -v /var/data:/home/data -i -t node /bin/bash
```
最后在Docker里执行node server.js启动服务,然后在浏览器中访问http://localhost:8080,就可以看到Hello World了
四、参考链接
Node.js 使用 Docker 部署
https://www.xysdavid.cn/2023/12/05/Node-js-使用-Docker-部署/
