I do agree that it is a layer of additional complexity. However, there are some side benefits for containerization in a production environment. I do agree that it may be overkill, but it can also be nice.
I haven't tested current performance implications, but when Docker was LXC, there was about a 2% performance overhead due to the containerization.
I think that using docker for production use has two main benefits; compilation of the project and auto scaling.
Since we can provide a complete package (the docker image) to the hosting environment, we don't have to wait 2-6 minutes for the deployment to take place. The deployment process should just pull the image and run a container. This kind of plays into the auto scaling. Typically when an autoscaling infrastructure, a new VM would need to be provisioned, set up and the application deployed. This could take 15 minutes or so and the traffic spike could be over by the time the machine is ready. A docker container upscale could be live in under a minute.