2017-04-20 20 views
0

rethinkdbをサーバー上でnodejsと一緒に実行するにはどうすればよいですか?nodejsがdocker-composeでrethinkdbに接続していません

ドッキングウィンドウ-compose.ymlです:rethinkdbにnodejs-プロジェクトに関連して

web: 
    build: ./app 
    volumes: 
    - "./app:/src/app" 
    ports: 
    - "8000:8000" 
    - "8080:8080" 
    - "28015:28015" 
    - "29015:29015" 
    links: 
    - "db:redis" 
    - "rethink:rethinkdb" 
    command: nodemon -L app/bin/www 

db: 
    image: redis 
    ports: 
    - "6379" 
rethink: 
    image: rethinkdb 

はnodejs-プロジェクトとフォルダのアプリですとDockerfile

Dockerfile

FROM node:0.10.38 

RUN mkdir /src 

RUN npm install nodemon -g 

WORKDIR /src/app 
ADD package.json package.json 
RUN npm install 

ADD nodemon.json nodemon.json 

module.exports.setup = function() { 
    r.connect({host: dbConfig.host /* 127.0.0.1*/, port: dbConfig.port /*is 28015 or 29015 or 32783*/ }, function (err, connection) { 
    ... 
    }); 
}; 

そしてdocker-compose upを実行すると、は127.0.0.1:32783に接続できませんでしたエラー

を持っています。

enter image description here

+0

サイドノート:ノードv0.10を使用しないでください。そのバージョンはもはやサポートがありません。この記事の執筆時点では、現在の[LTS版](https://github.com/nodejs/LTS)に移動してください。 – k0pernikus

答えて

1

あなたdocker-compose.ymlでポートを露出してみてください。そして、

web: 
    build: ./app 
    volumes: 
    - "./app:/src/app" 
    ports: 
    - "8000:8000" 
    depends_on: 
    - db 
    - rethink 
    command: nodemon -L app/bin/www 

db: 
    image: redis 
    ports: 
    - "6379:6379" 

rethink: 
    image: rethinkdb 
    ports: 
    - "8080:8080" 
    - "28015:28015" 
    - "29015:29015" 

dbConfig.host = rethinkdbdbConfig.port = 28015

module.exports.setup = function() { 
     r.connect({host: dbConfig.host /* 127.0.0.1*/, port: dbConfig.port /*is 28015 or 29015 or 32783*/ }, function (err, connection) { 
     ... 
     }); 
}; 

あなたは、これは参考願っています。

関連する問題