私は接続したい2つのNodeJSコンテナを持っています。Dockerで実行中の別のNodeAppにnodeAppを接続するにはどうすればいいですか?
JSONファイルを返すAPIとして最初の作品、
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// Form data
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}))
// set port port=4444 node app.js
var port = process.env.PORT || 3001;
//ROUTES FOR API
//get the router instance from express
var router = express.Router();
//test route on accessed at GET http://localhost:8080/api
router.get('/', function(req, res) {
res.json({message:'hello Welcome to our api'});
});
//all of our routes will be prfixed with /api
app.use('/api', router);
// server start
app.listen(port);
console.log('The server is running on localhost:' + port);
と第二(私のwebサービス)以降のGET POSTメソッドを作るために、このAPIへのリクエストを行います。
var http = require("http");
var request = require('request');
var express = require('express');
var app = express();
request({ url: "nodeapi:/loving_mccarthy:3001/api",
method: "GET",
headers: { "Content-Type": "application/json" },
json: true,
}, function (error, response, body) {
if(error) {
console.log(error);
} else {
console.log(response.statusCode);
console.log('the api contents: \n' + body.message);
}
});
すでに第2のコンテナが第1のコンテナに接続されています(docker run -d --link nodeapi:nodeapi -v /vagrant_workspace/nodejs_test/src:/usr/src/app/src eddy/node_test:v3
)。
しかし、私はどのように2番目のコードを書くことができないので、最初のコンテナからのurlと引数が2番目のコンテナから呼び出されるようにします。
を見ることができますか? –