Здравствуйте, не так давно начал ознакомление с Докером.
Суть в том, что не могу связать эти 2 контейнера по ip и port'у.  Локально все работает прекрасно (как и ожидалось), а вот с докером все не могу разобраться. В каждом из контейнеров все запускается на ip=127.0.0.1 и port=8888, но вот передать данные между ними не выходит. 
Что почитать/посмотреть, чтобы разобраться?
docker-swarm.ymlversion: '3'
services:
  server:
    image: server:v0.0.1
    init: true
    command: sh -c "python server.py"
    networks:
      - example_frontend
  client:
    image: client:v0.0.1
    init: true
    command: sh -c "python3 client.py"
    networks:
      - example_frontend
networks:
  example_frontend:
    driver: overlay
 
Запускаю через 
docker stack deploy -c docker-swarm.yml example-app
часть кода server.py...
    async def main(self, local_ip: str, local_port: int) -> None:
        server = await asyncio.start_server(
            lambda reader, writer: self.handle_request(
                reader=reader, writer=writer
            ),
            local_ip,
            local_port,
        )
        addrs = ", ".join(str(sock.getsockname()) for sock in server.sockets)
        async with server:
            await server.serve_forever()
    def start_server(self, local_ip: str, local_port: int) -> None:
        asyncio.run(self.main(local_ip=local_ip, local_port=local_port))
...
 
часть кода client.py...
async def send_to_server(
    message: MessageStruct, local_ip: str, local_port: int
) -> None:
    _, writer = await asyncio.open_connection(local_ip, local_port)
    writer.write(dataclass_to_bytes(message))
    await writer.drain()
    writer.write_eof()
    writer.close()
...
 
Traceback
2023-08-20 14:55:24 Traceback (most recent call last):
2023-08-20 14:55:24     await send_to_server(
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/site-packages/pybotterfly/server/server_func.py", line 25, in send_to_server
2023-08-20 14:55:24     _, writer = await asyncio.open_connection(local_ip, local_port)
2023-08-20 14:55:24                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/asyncio/streams.py", line 48, in open_connection
2023-08-20 14:55:24     transport, _ = await loop.create_connection(
2023-08-20 14:55:24                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1085, in create_connection
2023-08-20 14:55:24     raise exceptions[0]
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1069, in create_connection
2023-08-20 14:55:24     sock = await self._connect_sock(
2023-08-20 14:55:24            ^^^^^^^^^^^^^^^^^^^^^^^^^
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 973, in _connect_sock
2023-08-20 14:55:24     await self.sock_connect(sock, address)
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 634, in sock_connect
2023-08-20 14:55:24     return await fut
2023-08-20 14:55:24            ^^^^^^^^^
2023-08-20 14:55:24   File "/usr/local/lib/python3.11/asyncio/selector_events.py", line 674, in _sock_connect_cb
2023-08-20 14:55:24     raise OSError(err, f'Connect call failed {address}')
2023-08-20 14:55:24 ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 8888)