Tag: node.js

Docker退出状态1,用于AWS上的Node应用程序

我正在使用Express.js,Node,mongoose和docker在AWS上托pipe一个testing版应用程序。 日常活跃用户<10,主要是我的朋友进行testing。 由于某种原因,该应用几乎每天都在运行。 最初我以为这是AWS的问题,所以我停止了我的应用程序,从免费层更改为t2.medium,并再次启动它。 它没有解决这个问题,我检查了docker日志的容器。 这不是OOMKilled造成的。 "State": { "Status": "exited", "Running": false, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 0, "ExitCode": 1, "Error": "", "StartedAt": "2017-03-22T00:51:59.234643501Z", "FinishedAt": "2017-03-22T07:21:41.351927073Z" }, "Config": { … "AttachStdin": false, "AttachStdout": true, "AttachStderr": true, … } 我可以设置docker总是重新启动,但我想弄清楚它的根本原因是什么。 有什么build议么?

无法连接到使用docker-compose创build的Docker容器内部的Express服务器

我有一堆MySQL数据库,一个rediscaching和一个用Express写的web服务器。 整个堆栈正在工作并正确连接到对方。 这是我最后的节点日志: users-service | debug: [SERVER] Initializing routes users-service | debug: starting Route: auth users-service | debug: starting Route: flows users-service | debug: starting Route: users users-service | debug: [SERVER] Listening on port 3001 dockerps告诉我,容器正确映射端口: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f6a99ecdd218 users-service "nodemon start" 52 minutes ago Up 2 minutes 0.0.0.0:3001->3001/tcp […]

Chrome在使用Docker业务时未被捕获

我想在Docker容器中使用chrome运行一些业力testing。 我的Dockerfile看起来像: FROM node:6-alpine RUN apk update \ && apk add –update alpine-sdk \ && apk add chromium \ && npm install -g @angular/cli@1.0.0 \ && ng set –global packageManager=yarn \ && apk del alpine-sdk \ && rm -rf /tmp/* /var/cache/apk/* *.tar.gz ~/.npm \ && npm cache clear \ && sed -i -e "s/bin\/ash/bin\/sh/" /etc/passwd […]

泊坞窗撰写版本3不工作,因为我的预期

这是我第一次使用docker-compose。 我有这个文件: db: image: postgres ports: – "3600:5432" environment: – POSTGRES_HOST=127.0.0.1 – POSTGRES_DB=db – POSTGRES_USER=postgres – POSTGRES_PASSWORD=postgres1 api: build: . ports: – "4500:4500" links: – db 现在我必须把它翻译成版本3: version: "3" services: db: image: postgres ports: – "3600:5432" environment: POSTGRES_HOST: "127.0.0.1" POSTGRES_DB: "db" POSTGRES_USER: "postgres" POSTGRES_PASSWORD: "postgres1" api: build: . ports: – "4500:4500" links: – db 这是一个与postgres链接的节点应用程序,当我正在阅读如何连接到数据库时,我这样做: […]

用docker-compose运行pm2时节点错误ENOSPC

当我的pm2服务启动时出现以下错误: Error: watch /usr/src/app/node_modules/zip-stream/node-modules/loadash/… ENOSCP at exports._errnoException (util.js:1034:11) at FSWatcher.start (fs.js:1400:19) at Object.fs.watch (fs.js:1426:11) at createFsWatchInstance (/usr/local/lic/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:37:15) …. at FSReqWrap.oncomplete (fs.js:114:15) 只有在构build和运行docker时才会发生这种情况: docker – 撰写 – build立 如果我只是build立docker,然后在docker里面命令: docker-compose exec downtorrent_back_dev bash sh start.sh 那么,它启动服务没有任何问题。 这是docker-compose.yml文件: version: '3' services: downtorrent_back: container_name: downtorrent_back_dev build: context: . dockerfile: Dockerfile-back.dev volumes: – ./back:/usr/src/app expose: – "10002" – "9090" […]

bcrypt无法在docker中安装

为什么我无法在Docker(Dockerfile)中安装bcrypt? 我附上dockerfile和我得到的生成错误 是否涉及到一些版本问题? 错误 make: Entering directory '/usr/local/lib/node_modules/bcrypt/build' make: *** No rule to make target '../.node-gyp/6.10.2/include/node/common.gypi', needed by 'Makefile'. Stop. make: Leaving directory '/usr/local/lib/node_modules/bcrypt/build' gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/node-gyp/lib/build.js:285:23) gyp ERR! stack at emitTwo (events.js:106:13) gyp ERR! stack at ChildProcess.emit […]

如何在Windows 10中暴露Docker中的端口?

我在Windows 10 Pro机器上安装了正确安装的Docker CE副本。 我正在尝试使用docker-compose来运行一个简单的节点应用程序,并且能够在docker中运行时dynamic更新代码。 我跟着这个网站来build立它,我的代码可以在这里find。 当我在localhost:8080运行代码时导航到localhost:8080时,我得到我的网页。 当我通过Docker运行它时,从我的Web浏览器(相同的URL)中得到“这个页面不工作”。 我已经确定在Docker中运行之前停止在本地运行,以便端口不被越过。 我的Dockerfile: FROM node:6.10.2 RUN useradd –user-group –create-home –shell /bin/false app ENV HOME=/home/app COPY package.json npm-shrinkwrap.json $HOME/diet-program/ RUN chown -R app:app $HOME/* USER app WORKDIR $HOME/diet-program RUN npm install EXPOSE 8080 CMD ["npm", "run", "dev"] 我的docker-compose.yml: version: '2' services: diet-program: build: . ports: – "8080:8080" volumes: – […]

Docker / CI:访问在另一个阶段创build的nodeJS应用程序

在我的CIpipe道(gitlab)中有一个构build和一个end2endtesting阶段。 在构build阶段,应用程序的文件将被创build。 然后我想复制生成的文件到e2e_testing容器做一些testing与这个应用程序。 如何将生成的文件(/ opt / project / build / core / bundle)复制到映像中? 对于e2etesting,我想使用nightwatchJS – 请参阅下面的e2e docker镜像。 也许有可能在e2e图像中使用构build图像? 我需要做的是nightwatchJS e2etesting生成的nodeJS应用程序 我的企图 使用e2e_testing docker cp命令将生成的文件复制到e2e_testing容器。 build: stage: build before_script: – meteor build /opt/project/build/core –directory script: – cd /opt/jaqua/build/core/bundle – docker build -t $CI_REGISTRY_IMAGE:latest . after_script: – docker cp /opt/project/build/core/bundle e2e_testing:/opt/project/build/core/ 但是这是行不通的,因为下一阶段(e2e)将会从e2e:latest创build一个容器e2e:latest图像。 所以在这个容器中没有bundle文件夹存在,所以这个示例脚本失败了。 e2e: image: e2e:latest stage: […]

那么`docker-compose up`怎么会抛出一个错误,docker run`能stream利地运行

我正在尝试使用Docker为NodeJS应用程序的开发和生产build立一个环境。 对于开发环境,我尝试使用nodemon运行应用程序(因为这会监视文件更改)。 但是,当我试图用docker-compose up运行它docker-compose up ,我得到以下错误: 错误:对于Web无法启动服务Web:oci运行时错误:container_linux.go:247:启动容器进程导致“exec:\”nodemon \“:可执行文件找不到$ PATH中” 当我运行docker run web-app (Web应用程序图像生成与docker build -t web-app .我没有任何问题,我想知道如何发生这种不同的行为,以及如何解决它。我已经把我得到的文件,以更简单的理解这个问题。 Dockerfile FROM node:latest # Install nodemon globally RUN npm i nodemon -g # Add local directory to /node/web-app ADD . /node/web-app # Switch to /node/web-app WORKDIR /node/web-app # Install NPM dependencies RUN npm install # Run nodemon CMD […]

Docker不能安装npm包

我在ubuntu服务器上运行docker。 这似乎是一个docker问题。 从Ubuntu安装package.json工作正常。 npm http request GET https://registry.npmjs.org/express npm info retry will retry, error on last attempt: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443 看来npmregistry不可用。 有任何想法吗? 平安工作正常! Dockerfile: FROM node:4-slim RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install COPY . /usr/src/app EXPOSE 3000 CMD [ "node", "server.js" ] 内置日志: Sending build context to Docker […]