如何在服务器上运行带有nodejs的rethinkdb?
是docker-compose.yml:
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-project和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
在与rethinkdb的nodejs-project连接中:
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。
答案 0 :(得分: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 = rethinkdb
和dbConfig.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) {
...
});
};
希望您觉得这很有帮助。