code: def _start_console(self):
          
  
          class InputStream:
  
              def __init__(self):
                  self._data = b""
  
              def write(self, data):
                  self._data += data
  
              @asyncio.coroutine
              def drain(self):
                  if not self.ws.closed:
                      self.ws.send_bytes(self._data)
                  self._data = b""
  
          output_stream = asyncio.StreamReader()
          input_stream = InputStream()
  
          telnet = AsyncioTelnetServer(reader=output_stream, writer=input_stream, echo=True)
          self._telnet_servers.append((yield from asyncio.start_server(telnet.run, self._manager.port_manager.console_host, self.console)))
  
          self._console_websocket = yield from self.manager.websocket_query("containers/{}/attach/ws?stream=1&stdin=1&stdout=1&stderr=1".format(self._cid))
          input_stream.ws = self._console_websocket
  
          output_stream.feed_data(self.name.encode() + b" console is now available... Press RETURN to get started.\r\n")
  
          asyncio.async(self._read_console_output(self._console_websocket, output_stream))
docs: Start streaming the console via telnet