Клиент SocketIO, работающий в контейнере Docker, не подключается к серверу (не к Docker).
Без Docker клиент работает хорошо.Но из Docker клиент не может подключиться к серверу.Если вы запускаете клиентские контейнеры в режиме Host-network на той же машине, что и сервер, и подключаетесь по адресу 0.0.0.0, соединение будет работать.Но это работает только тогда, когда все в одном экземпляре, и мне нужно другое решение.Я попробовал некоторые манипуляции с выставлением портов, но это не помогло.
Код сервера:
const http = require("http");
const express = require("express");
const socketIO = require("socket.io");
const app = express();
const server = http.Server(app);
const io = socketIO(server);
io.on("connection", function(socket) {
console.log("Wow! Client socket connected!");
});
server.listen(8081, "0.0.0.0", function() {
console.log("Starting server on port 8081");
});
Код клиента, который должен работать в Docker:
let serverAddress = "address-of-the-server:8081";
const socketIOClient = require("socket.io-client");
const socket = socketIOClient(serverAddress);
Чтоя делаю неправильно, почему клиент не может подключиться к серверу?Нужны ли контейнеру специальные порты?