Articles of compose

将docker-compose文件转换为构build和运行命令

我想通过使用docker构build和docker运行命令而不是通过撰写文件来启动我的docker容器。 我开始将撰写文件转换为命令,但我卡住了。 撰写文件: version: '2' services: node: build: ./node_js command: node server.js depends_on: – mongo links: – mongo environment: NODE_ENV: development ports: – '8080:8080' volumes: – ./node_js:/home/app/chat – /home/app/chat/node_modules mongo: build: ./mongo ports: – "27017:27017" 这是我到目前为止所提出的 构build命令(这个工程,当我运行它): docker build –tag testenvironment/node_js ./node_js 运行命令: docker run -p 8080:8080 –link mongoDB:testenvironment/mongo –name nodejs -d testenvironment/mongo node server.js […]

无法通过Docker中的node.js连接到MongoDB

我的node.js express应用程序无法连接到Docker中的MongoDB。 我不熟悉Docker。 node.js连接: import mongodb from 'mongodb'; … mongodb.MongoClient.connect('mongodb://localhost:27017', … ); Dockerfile: FROM node:argon RUN mkdir /app WORKDIR /app COPY package.json /app RUN npm install COPY . /app EXPOSE 3000 CMD ["npm", "start"] 泊坞窗,compose.yml version: “2” services: web: build: . volumes: — ./:/app ports: — “3000:3000” links: — mongo mongo: image: mongo ports: — […]

Docker端口转发为nodejs应用程序

我在为我的nodejs应用程序configurationdocker时遇到问题。 我以前已经为php和rails设置了容器,端口转发工作正常,但是对于这个例子,我似乎无法得到它的工作。 运行: docker ps ,我得到以下内容: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a60f9c82d600 29c7d94a8c58 "/bin/sh -c 'npm s…" 5 seconds ago Up 3 seconds 3000/tcp romantic_albattani 正如你可以看到我没有得到通常的:我期望的0.0.0.0:3000->3000/tcp 。 docker-compose ps给出: Name Command State Ports —————————— 我的docker-compose.yml: web: build: . volumes: – .:/app volumes_from: – box ports: – "3000:3000" box: image: busybox volumes: – […]

Docker撰写:从浏览器访问我的Web应用程序

我发现这个文档非常缺乏(或者我很笨),但是这是我的设置: Web应用程序正在运行在Node和Express , port 8080 。 它也连接到一个MongoDB容器(因此我使用docker-compose )。 在我的Dockerfile中,我有: FROM node:4.2.4-wheezy # Set correct environment variables. ENV HOME /root RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install; # Bundle app source COPY . /usr/src/app CMD ["node", "app.js"] EXPOSE 8080 我运行: docker-compose build web docker-compose build db docker-compose up -d db docker-compose […]

新的package.json包不在Docker容器中显示

我使用Docker Compose使用Docker,这些是我的文件: #DOCKERFILE FROM mhart/alpine-node # Create app directory RUN mkdir -p /home/app # Bundle app soure COPY . /home/app # From now on we work in /home/app WORKDIR /home/app # Install yarn and node modules RUN echo -e 'http://dl-cdn.alpinelinux.org/alpine/edge/main\nhttp://dl- cdn.alpinelinux.org/alpine/edge/community\nhttp://dl- cdn.alpinelinux.org/alpine/edge/testing' > /etc/apk/repositories \ && apk add –no-cache yarn \ && yarn EXPOSE 8080 […]

Flask web应用程序,Node.js(队列)worker。 不能使docker工作

我有一个与以下服务的应用程序: web/ – 持有并运行一个python 3瓶Web服务器端口5000.使用sqlite3。 worker/ – 有一个index.js文件,它是一个队列的工作者。 Web服务器使用json API通过端口9730与此队列交互。 工作人员使用redis进行存储。 工作人员还将数据本地存储在文件夹worker/images/ 现在我正在尝试使用docker和docker-compose来完成所有这些工作。 作为一个新手,我很挣扎。 web/Dockerfile FROM python:3.4-slim RUN apt-get update RUN apt-get install -y sqlite3 libsqlite3-dev imagemagick COPY . /web WORKDIR /web RUN pip install -r requirements.txt worker/Dockerfile FROM dockerfile/nodejs COPY . /worker WORKDIR /worker RUN npm install docker-compose.yml redis: image: redis:latest worker: build: ./worker […]

如何让Grunt livereload在Docker中工作?

我试图在Windows中使用Docker作为开发环境。 我正在开发的应用程序使用Node,NPM和Bower设置开发工具,使用Grunt来运行它的任务,并包含实时重新加载,以便在代码更改时更新应用程序。 相当标准。 它工作正常以外的Docker,但我一直运行到Grunt错误Fatal error: Unable to find local grunt. 不pipe我在Docker里面怎么做。 我最近的工作是在构build时将所有npm和bower依赖项安装到图像中的应用程序目录中,并将应用程序的Gruntfile.js复制到该目录。 然后在Docker-Compose中创build一个链接到主机应用程序的卷,并要求Grunt使用Grunt的–base选项来观看该卷。 它仍然不会工作。 我仍然得到致命的错误。 以下是Docker文件的问题: Dockerfile: # Pull base image. FROM node:5.1 # Setup environment ENV NODE_ENV development # Setup build folder RUN mkdir /app WORKDIR /app # Build apps #globals RUN npm install -g bower RUN echo '{ "allow_root": true }' > /root/.bowerrc […]

Docker for Mac主机networking访问

我正在运行mac build的最新docker,并且有许多基于docker-compose的应用程序正在运行 – 所有接受的都是从本地networking调用的。 我现在试图实现一个需要networking访问的node.js应用程序来扫描主机的networking以及响应端口5005。 任何人都可以给我看一个docker-compose.yml文件,这将允许以下networking: 本地networking:192.168.123 / 24路由器192.168.123.1 适用于Mac的Docker在我的Macbook上以192.168.123.118运行 我的networking内部http://192.168.123.118:5005应该对容器的节点请求作出响应。 容器需要扫描本地networking来寻找服务。 我尝试了一个或两个接口的默认,网桥和主机networking的组合,只是感到困惑。 一个容器能否真正成为主机networking的一部分? 我似乎记得,当在virtualbox上运行docker时,这是可以实现的。 我试图configuration的实际代码是https://github.com/jishi/node-sonos-http-api我不认为有代码的问题,只是我想创build的环境。 我试图运行的项目是Sonos控制器应用程序: 这里是我的Dockerfile和docker-compose.yml文件以及构buildSonos控制器应用程序的命令 mkdir sonos cd sonos git clone https://github.com/jishi/node-sonos-http-api sonos 泊坞窗,compse.yml version: '2' services: sonos: build: sonos network_mode: host SONOS / Dockerfile FROM node:4-onbuild EXPOSE 5005 在此之后,我可以启动控制器: docker-compose stop; docker-compose-build; docker-compose up; 输出是: Recreating sonos_sonos_1 Attaching to sonos_sonos_1 sonos_1 […]

Supertest在黄瓜延迟

我在黄瓜步骤文件中使用supertest向Docker中运行的API发出请求。 另外,我正在使用带有示例的场景大纲,以便请求被执行4次。 编辑:我发现,在黄瓜的第一个请求,我在我的docker日志中得到这个错误:“未能build立9P连接:抓住底层stream的EOF”。 但它只发生一次,从来没有从浏览器或邮递员。 given.js: const request = require('supertest'); module.exports = function givens() { this.Given(/^then system is active$/, function (callback) { this.request = request.agent('http://localhost:8787'); callback(); }); } 然后: module.exports = function whens() { this.When(/^the client requests a list of questions with the parameters of "([^"]*)" and "([^"]*)" and "([^"]*)" and "([^"]*)" and "([^"]*)" and "([^"]*)"$/, […]

DRYconfigurationDocker构build和应用程序

首先,这比我想象的要长得多,tl; dr; 我怎样才能让我的configurationDRY与docker(我假设与环境variables) 我正在开发一个mongodb数据库的node.js服务器,我正在切换到docker(希望)简化我的环境,并保持我的服务器一致。 让我开始说,我绝对不了解整个docker – 集装箱生命周期,但我正在学习。 经过大量的search后,我找不到解决scheme。 我正在使用适用于Windows的Docker和Hyper-V。 ( docker version在底部) 所以,我想能够configuration 数据库名称 数据库用户 数据库密码 应用端口 和其他一些事情 并允许这些configuration的值在几个地方使用,包括 Docker构build阶段(设置数据库) 节点应用程序(连接到数据库) 什么是能够设置数据库名称,用户和传递一次,并使用它来启动容器中的数据库,然后连接到它,每当容器被启动的最佳方式是什么? 当前设置 目前我有一个docker-compose文件,它是以下(./docker-compose.yml) version: "2" services: myapp: image: node:boron volumes: – ./dist:/usr/src/app working_dir: /usr/src/app command: sh -c 'npm install; npm install -g nodemon; nodemon -e js app.js' ports: – "9021:9021" depends_on: – mongo networks: […]