Node Backend Setup in Docker

I have done setup of mediasoup backend in docker. I am unable to consume video due to this error. Could you please tell which Ip shall I give in the Ip and announced ip fields in local computer and aws development server:-


const transport = await this._mediasoupRouter.createWebRtcTransport({
          listenIps: [
            // { ip: "127.0.0.1" }
            // { ip: '172.31.14.28', announcedIp: '18.190.8.237' }
            { ip: '0.0.0.0', announcedIp: '0.0.0.0' }
          ],
          appData: { producing, consuming }
        });

I am getting this error in docker :-

app         | protoo connection request [peerId:172.22.0.1, address:http://localhost:1234, origin:%s]
app         | backend event
app         | roomId -  undefined
app         | room - [object Object]
app         | request:getRouterRtpCapabilities
app         | request:createWebRtcTransport
app         | request failed:{ Error: port bind failed due to address not available [transport:udp, ip:172.22.0.5, port:46179, attempt:1/10000]
app         |     at Channel._processMessage (/usr/src/app/node_modules/mediasoup/lib/Channel.js:220:37)
app         |     at Socket.Channel._consumerSocket.on (/usr/src/app/node_modules/mediasoup/lib/Channel.js:80:34)
app         |     at Socket.emit (events.js:198:13)
app         |     at Socket.EventEmitter.emit (domain.js:448:20)
app         |     at addChunk (_stream_readable.js:288:12)
app         |     at readableAddChunk (_stream_readable.js:269:11)
app         |     at Socket.Readable.push (_stream_readable.js:224:10)
app         |     at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
app         |   [stack]:
app         |    'Error: port bind failed due to address not available [transport:udp, ip:172.22.0.5, port:46179, attempt:1/10000]\n    at Channel._processMessage (/usr/src/app/node_modules/mediasoup/lib/Channel.js:220:37)\n    at Socket.Channel._consumerSocket.on (/usr/src/app/node_modules/mediasoup/lib/Channel.js:80:34)\n    at Socket.emit (events.js:198:13)\n    at Socket.EventEmitter.emit (domain.js:448:20)\n    at addChunk (_stream_readable.js:288:12)\n    at readableAddChunk (_stream_readable.js:269:11)\n    at Socket.Readable.push (_stream_readable.js:224:10)\n    at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)',
app         |   [message]:
app         |    'port bind failed due to address not available [transport:udp, ip:172.22.0.5, port:46179, attempt:1/10000]' }
app         | request:createWebRtcTransport
app         | request failed:{ Error: port bind failed due to address not available [transport:udp, ip:172.22.0.5, port:44950, attempt:1/10000]
app         |     at Channel._processMessage (/usr/src/app/node_modules/mediasoup/lib/Channel.js:220:37)
app         |     at Socket.Channel._consumerSocket.on (/usr/src/app/node_modules/mediasoup/lib/Channel.js:80:34)
app         |     at Socket.emit (events.js:198:13)
app         |     at Socket.EventEmitter.emit (domain.js:448:20)
app         |     at addChunk (_stream_readable.js:288:12)
app         |     at readableAddChunk (_stream_readable.js:269:11)
app         |     at Socket.Readable.push (_stream_readable.js:224:10)
app         |     at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
app         |   [stack]:
app         |    'Error: port bind failed due to address not available [transport:udp, ip:172.22.0.5, port:44950, attempt:1/10000]\n    at Channel._processMessage (/usr/src/app/node_modules/mediasoup/lib/Channel.js:220:37)\n    at Socket.Channel._consumerSocket.on (/usr/src/app/node_modules/mediasoup/lib/Channel.js:80:34)\n    at Socket.emit (events.js:198:13)\n    at Socket.EventEmitter.emit (domain.js:448:20)\n    at addChunk (_stream_readable.js:288:12)\n    at readableAddChunk (_stream_readable.js:269:11)\n    at Socket.Readable.push (_stream_readable.js:224:10)\n    at Pipe.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)',
app         |   [message]:
app         |    'port bind failed due to address not available [transport:udp, ip:172.22.0.5, port:44950, attempt:1/10000]' }
app         | request:join

Sorry, you should know your host IPs and learn how Docket networking works.

Your announcedIp is bad, it’s a valid ip for outside can visit, if “0.0.0.0” it only can be visited in your docker container