Or does it use 1 thread per Docker container?
Nakama uses 1 Goroutine per authoritative match. Goroutines are green threads managed by the Go runtime. One Docker container should have 1 Nakama instance and many goroutines as part of the server process.