やりたいこと
docker-composeで管理しているRailsアプリのapp_aからapp_bのweb apiを叩きたいです。
アプリ構成
app_a/ docker-compose.yml app/ app_b/ docker-compose.yml app/
現状
- app_a(localhost:3000), app_b(localhost:3001)を同時に立ち上げができる(それぞれは動作している)。
app_a からapp_bへのapiリクエストを叩くとエラーが発生する。
エラー内容
ruby
1uri = URI.parse("localhost:3001/myapi") 2Net::HTTP.start(uri.host, uri.port) # apiを叩く 3Errno::EADDRNOTAVAIL: Failed to open TCP connection to localhost:3001 (Cannot assign requested address - connect(2) for "localhost" port 3001) 4from /usr/local/lib/ruby/2.6.0/net/http.rb:949:in `rescue in block in connect' 5Caused by Errno::EADDRNOTAVAIL: Cannot assign requested address - connect(2) for "localhost" port 3001 6from /usr/local/lib/ruby/2.6.0/net/http.rb:947:in `initialize'
やったこと
https://qiita.com/rh_taro/items/5d35b1e54b5eb7becf65 を参考にapp_aとapp_bの通信を可能な状態にしました。
app_aのdocker-compose.yml
services: app: ports: - "3000:3000" networks: - mynetwork - default networks: mynetwork: external: true
app_bのdocker-compose.yml
services: app: ports: - "3001:3000" networks: - mynetwork - default networks: mynetwork: external: true
どのようにしたらapp_aからapp_bのlocalhost:3001/myapi
を叩くことができるでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/03 03:15
2020/07/03 04:28