私は2つのDockerコンテナを実行しています。 1つはMongoDBであり、1つは単純な休止APIを実行しているMongoDBコンテナーを照会できるコンテナです。2つのDockerコンテナを互いに話すには?
ポートマッピング
- 0.0.0.0:28001->27017/tcp(MongoDBの)
- 0.0.0.0:3000->3000/tcp(restapi)のために使用さ
コマンド私はIP
をバインドするには、0.0.0.0を追加するmongo.confをオーバーライドするのMongoDB画像docker run -p 28001:27017 -v /home/ubuntu/docker/mongodb/mongod.conf:/etc/mongod.conf --name mongodb_container -d mongodb_image
APIを使用
net:
port: 27017
bindIp: [127.0.0.1,0.0.0.0]
実行]コマンド:
docker container run -it -v /home/ubuntu/docker/node_modules:/usr/lib/node_modules -p 3000:3000 --name rest_container rest_image /bin/bash
私は残りのAPIを照会することができるよ、それがハングしてタイムアウトに(結果を返すことはありません)。
{ "db": {
'port': 28001,
'host': "192.168.123.191"
},
'server': {
'port': 3000,
'timeout': 120,
'address': "0.0.0.0"
},
'flavor': "regular",
'debug': true
};
残りのAPIコンテナの
内部IP:
172.17.0.2
:MongoDBのコンテナの172.17.0.4
内部IP残りの設定ファイルは次のようになります
ドッカーでプログラムを実行せずにクエリを実行できるため、APIが動作することがわかりました。ポート27017と3000は両方ともDockerfileに公開されています。 mongodbコンテナでは、クエリを実行するたびに接続数が増えることもわかります。
コンテナからクエリするIPはどれですか? –
'docker-compose'を見て、あなたが必要としているものだと思います。 – Ayushya
@ChrisStryczynski 192.168.123.191:28001 – Adz