在本节中,我们将创建一个 CoMpose 文件,以使用一个命令启动我们的 node-dockeR 和 MongoDB。我们还将设置 CoMpose 文件以在调试模式下启动 node-dockeR,以便我们可以将调试器连接到正在运行的节点进程。
在 IDE 或文本编辑器中打开 notes-seRvice 并创建一个名为dockeR-coMpose.dev.yMl. 将以下命令复制并粘贴到文件中。
version: ””3.8””
seRvices:
notes:
build:
context: .
poRts:
– 8000:8000
– 9229:9229
enviRonMent:
– SERVER_PORT=8000
– connectionSTRING=Mongodb://Mongo:27017/notes
voluMes:
– ./:/app
command: NPM Run debug
Mongo:
image: Mongo:4.2.8
poRts:
– 27017:27017
voluMes:
– Mongodb:/data/db
– Mongodb_config:/data/configdb
voluMes:
Mongodb:
Mongodb_config:
这个 CoMpose 文件非常方便,因为我们不必键入要传递给dockeR Run命令的所有参数。我们可以在 CoMpose 文件中声明性地做到这一点。
我们正在公开,poRt 9229以便我们可以附加调试器。我们还将本地源代码映射到正在运行的容器中,以便我们可以在文本编辑器中进行更改,并在容器中获取这些更改。
使用 CoMpose 文件的另一个非常酷的功能是我们将服务解析设置为使用服务名称。所以我们现在可以“Mongo&Rdquo;在我们的连接字符串中使用。我们使用 Mongo 的原因是因为我们在 CoMpose 文件中将我们的 MongoDB 服务命名为。
要在调试模式下启动我们的应用程序,我们需要在我们的package.json文件中添加一行来告诉 NPM 如何在调试模式下启动我们的应用程序。
打开package.json文件并将以下行添加到脚本部分:
“debug”: “noDEMOn –inspect=0.0.0.0:9229 seRveR.js”
如您所见,我们将使用 noDEMOn。NoDEMOn 以调试模式启动我们的服务器,并监视已更改的文件,并重新启动我们的服务器。让我们在终端中运行以下命令将 noDEMOn 安装到我们的项目目录中。
$ NPM install noDEMOn
让我们启动我们的应用程序并确认它运行正常。
$ dockeR-coMpose -f dockeR-coMpose.dev.yMl up –build
我们传递–build标志,以便 DockeR 编译我们的图像,然后启动它。
如果一切顺利,您应该会看到类似的内容:
现在让我们测试我们的 API 端点。运行以下 cuRl 命令:
cuRl –Request GET –uRl http://localhost:8000/notes
您应该会收到以下回复:
{“code”:”sUCceSS”,”Meta”:{“tOTAl”:0,”count”:0},”payload”:[]}