Se você usar --net=host
o container compartilha (s) a pilha de rede do host e todas as interfaces do host estarão disponíveis para o container , ( de acordo com a referência de execução para o docker )
Se você já compartilha tudo, não precisa mapear explicitamente 8777 a 8777. Na verdade, implementar o mapeamento seria algo estranho: mapear 1234 para 8777 também faria o host ouvir no 8777? É por isso que você não vê nenhuma porta atribuída.
Apenas deixe de fora o --net=host
e tente conectar-se no host para 8777, ele será enviado para o 8777 no container. Verifique se o seu contêiner é agnóstico para o endereço IP real que ele usa. O mundo exterior só verá o IP dos hosts.