在本地用 Docker 运行一个 Node.js 后端应用

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在宁皓网的 Node.js 服务端应用开发里,我们一起基于 Node.js 技术开发了一个后端应用,应用提供了用户、内容、评论、文件上传还有身份验证的接口。

在学习前端技术,可以在本地运行一下这个项目,这样我们在本地开发的前端应用就可以直接请求在本地运行的这个服务应用提供的服务接口了。

我给大家准备了一个带演示数据的后端项目,你可以直接用 docker 运行它,可以先在电脑上安装一下 docker desktop。然后再去克隆一下 xb2-node-demo 这个项目。因为项目里带上传的文件,所以项目的体积有点大,下载的时候可能需要一些时间。

然后在终端,我已经提前下载好了这个项目,进入到这个 xb2-node-demo 。

执行 docker-compose up -d ,启动项目里定义的服务,这行命令会根据项目里的 docker-compose.yml 文件的配置创建好应用的容器。

第一次运行的时候,docker 会自动下载容器所使用的镜像,然后基于镜像再去创建容器。执行 docker-compose ps 可以查看服务的运行状态,如果 State 是 Up ,说明服容器正在运行。你应该会看到两个容器,一个是 xb2-node__mysql,这是应用需要的数据服务,还有一个是 xb2-node__node,这个是服务端应用本身。

如果出现问题,你可以执行 docker-compose restart 重新启动这些应用服务。容器运行以后就可以提供服务了,下面我们可以打开 insomnia 这个接口调试软件,点击 File,导入文件,选择 xb2-node-demo 这个项目下面的 assets/insomnia 里的这个 xb2-node.yml,导入这个文件里定义的请求集合。

成功以后,打开这个请求集合,当前环境可以设置成开发环境,再找一个请求可以测试一下,比如打开内容下面的内容列表这个请求,发送一下这个请求,得到的是一个状态码是 500 的响应。

在终端,可以再执行一下 docker-compose restart ,重新启动一下项目的服务。完成以后回到 insomnia ,重新发送一下这个内容列表接口的请求。这次得到的响应就是我们用 docker 运行的后端应用提供的一个内容列表。

再打开 tableplus 这个数据库客户端软件,可以创建一个新的连接,名字是 xb2-node-demo,host 是 127.0.0.1,端口要设置成 3309,我们的 mysql 这个服务在容器内部提供服务用的端口号是 3306,但是服务设置了对外公开的端口是 3309,也就是本地电脑上的 3309 这个端口,映射的就是 mysql 这个服务容器里的 3306 这个端口。

用户是 xb2_node,密码是大写的 PASSWORD,数据库的名字是 xb2_node。配置好以后先按一下 Test,显示能够正常连接,再按一下连接,这样就会显示在 mysql 这个服务容器里运行的数据库服务里的 xb2_node 这个数据库。这个数据库里有一些数据表,在表里已经有了一些演示数据。

在 user 这个数据表里有一些用户数据,用户的登录密码都是 123123。

在本地用 Docker 运行一个 Node.js 后端应用《 React 前端应用开发:网络请求 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点