Tag: node.js

如何获取节点js的日志

我正在使用该节点的docker容器:8.9.3版本的镜像,在我们的生产nodejs应用程序工作正常。 如何findnodejs应用程序的日志目录,或者如何存储日志进行分析? 有什么好的开源工具吗?

process.exit()不会终止进程

我有一个在Docker容器中运行的节点进程。 基本上我试图连接到MySQL(其他容器),然后执行一些查询。 我决定,当我连接到mysql时,我会得到致命的错误,我会简单地终止我的过程和restart: always docker-compose.yml restart: always选项将完成其工作。 我的代码片段: this.createSnapshot() .then((result)=>{console.error('createSnapshot result', result);}) .catch((error)=>{console.error('createSnapshot error', error); process.exit(1); }) ; 我正在进入catch部分,没有问题。 但是process.exit()似乎并没有像考虑的那样工作。 我阅读了文档,其中指出: 请注意,调用process.exit()将尽可能快地强制进程退出,即使还有尚未完全完成的asynchronous操作,包括对process.stdout和process.stderr的I / O操作。 但是我的docker容器只有在我通过terminal手动杀死进程的情况下才会重启。 我错过了什么? 谢谢。

docker工不在主机上安装依赖关系(node_modules)

当我运行docker-compose build我发现package.json中的依赖关系安装在容器上,而不是我的机器上。 所以后来当我运行docker-compose up我得到错误,依赖没有find,即: Error: Cannot find module 'express' 我的应用程序结构非常简单,如下所示: |____frontend | |____index.html | |____index.js | |____webpack.config.js | |____yarn.lock | |____package.json | |____dev.Dockerfile |____backend | |____server.js | |____yarn.lock | |____package.json | |____dev.Dockerfile |____docker-compose.yml 我的docker-compose.yml: version: "3.3" services: frontend: build: context: . dockerfile: frontend/dev.Dockerfile volumes: – ./frontend:/frontend:cached command: yarn start backend: build: context: . dockerfile: backend/dev.Dockerfile […]

Docker AWS证书pipe理器SSL NodsJS失败

我已经使用Docker提供的Cloudformation模板创build并部署了Docker群集NodeJS应用程序。 我的NodeJS应用程序将端口80和443映射到端口3000。 我可以确认,弹性负载均衡器有端口80和443的收听者。 为什么我可以在http上成功访问我的应用程序,而不是在https上? 例如: http: //app.myapp.com/api/health成功响应,但不是https://app.myapp.com/api/health

NodeJS与Docker:ENOENT:没有这样的文件或目录,打开“/app/folder/example.key”

我主要试图了解如何解决/了解如何在构buildNodeJS应用程序时将文件打包到Docker容器中。 我有一个NodeJS项目,具有以下目录结构: docker文件内容如下: FROM node:8.7-alpine as build RUN npm install –global typescript webpack ENV NODE_ENV=development NODE_PATH=/app WORKDIR /app COPY package.json . RUN npm install COPY . . RUN tsc -p . RUN webpack FROM node:8.7-alpine ENV NODE_ENV=production NODE_PATH=/app RUN apk add –no-cache \ udev \ ttf-freefont \ chromium \ fontconfig pango-dev libxcursor libxdamage cups-libs dbus-libs […]

如何使用Kubernetes和Gitlab CI / CD在Google Cloud Platform中部署分段?

我最近和Docker , Kubernetes , Google Cloud Platform(GCP)和Gitlab CI/CD从commit到staging 。 到目前为止,我已经成功地testing , building并将映像pushing送到Container registry of Gitlab 。 我有一个小节点和docker应用程序输出'Hello world' 。 另外,我已经在Container registry of Gitlab构build了我Container registry of Gitlab 。 在这个时候,这个过程就是docker工人。 我想将我的图像从Gitlab container registry推Kubernetes engine GCP中的Kubernetes engine 。 我已经安装了kubectl和gcloud sdk 。 自动DevOps似乎很有前途,但我想实现我自己的.gitlab-ci.yml文件。 这是我的.gitlab-ci.yml下面: stages: – testing – build – staging variables: CONTAINER_TEST_IMAGE: registry.gitlab.com/surajneupane55/node-app- testing CONTAINER_RELEASE_IMAGE: registry.gitlab.com/surajneupane55/node- app-testing:latest test: […]

如何从本地机器导入docker映像到plesk

我有用node.js写的小API应用程序,我想运行在plesk上的docker。 我成功地创build图像,并在本地docker机上的容器中运行。 我有Plesk Onyx 17.5.3版本的docker扩展版本:1.3.1-126。 现在我不知道如何运行这个我的图像运行在plesk。 我试过了: 1)使用命令docker save -o output-path image-name将映像导出到.tar文件。 2)这个.tar文件在plesk上传到docker扩展。 3)上传后创build图像名称“sha256:038a9”。 顺便说一句:我的docker形象的名字是wapi。 4)如果我使用“运行(本地)”,所以我不能设置端口映射。 点击OKbutton后显示Error:{“message”:“No command specified”} 你能帮我一下吗? PS:如果你想看到任何东西(dockerfile等),所以写它。 🙂 dockerfile FROM node:7 WORKDIR /app COPY package-lock.json . COPY package.json . RUN npm install COPY /dist . CMD npm run docker_start

为与mysql数据库交互的node.js程序编写functiontesting的最佳策略

我有一个node.js程序,它与mysql服务器有交互。 现在我要用摩卡书写一个functiontesting。 我做functiontesting的方法如下: 用dockerode创build一个mysql docker 容器 。 让node.js程序连接到mysql服务器的docker容器并写入数据。 检查数据库是否包含预期的数据。 卸下docker箱。 我对上述策略存在的问题是: 我如何让node.js等待mysql容器准备好连接? 目前,我使用setTimeout等待几秒钟。 我不认为这是适当的。 因为不同的机器可能需要不同的秒数容器准备连接。 是否有可能创build一个虚假的MySQL服务器,而不是使用docker容器来创build一个真正的MySQL服务器? 我还没有find任何模仿mysql服务器行为的节点模块。 因为我认为创build一个假的MySQL服务器允许我知道服务器何时准备好连接。 有没有人有这样的经验? 以下是我的代码的一部分: let Docker = require('dockerode') let docker = new Docker({socketPath: '/var/run/docker.sock'}) describe('Test AddShop2Database behavior', () => { before((done) => { setTimeout(setupDatabase, // setupDatabase create a mysql docker container 1000, (err, data) => { if (err) { […]

如何使用Lambda NodeJS函数从私有Docker Hub库回收图像?

使用从Docker Hub监听webhook的NodeJS Lambda函数,将该图像拉下来,然后将其推送到S3。 所有的代码片段都可以从docker中拉出来。 我发现了几个允许连接到Docker Hub的NodeJS库,但都引用了/var/run/docker.sock ,它不适用于Lambda。 任何想法如何可以完成? 有没有一种方法可以使用来自具有临时签名令牌的URL的常规旧HTTP GET? 样品Lamba代码: var exec = require('child_process').exec; exports.handler = (event, context, callback) => { exec("which docker", (error, stdout, stderr) => { console.log("error: " + error); console.log("stdout: " + stdout); console.log("stderr: " + stderr); }); callback(null, "checked for docker"); }; 示例输出: Response: "checked for docker" Request ID: "064e60ef-e85a-11e7-a868-417db961a0b3" […]

巴伯尔在docker上的手表

docker实例与节点。 我想开发这个实例,并使用babel来“编译”我的节点代码。 我使用@ docker / cli来编译watch标志,我用-L标志来使用nodemon。 由于某种原因,nodemon正在监视文件变化很大,但不是babel。 任何想法? 这是我的docker-compose.yml main-app: build: ./mainApp user: "root" command: yarn run start:watch environment: NODE_ENV: production PORT: 8080 volumes: – ./mainApp:/app – /app/node_modules ports: – '8080:8080' 这是package.json: "scripts": { "build": "babel src –out-dir public", "serve": "node public/server.js", "build:watch": "babel –watch src -d public -s", "serve:watch": "nodemon -L public/server.js", "start:watch": "concurrently […]