I am working on a mainly TCP based Game Server and just tried to run it in a Docker container. However, I observed that when accessing the Server in a container (via the Game Client), the packets for every SeqNo are split into two parts. The first part is an empty TCP-ACK (no payload), the second part is a TCP,PSH-ACK that contains the full payload. Since this pattern applies to all packets sent from or to the server, it is obvious that they belong together.
Why is this happening and, moreover, why is this only happening when the Server runs in a Docker container?