It is preferable to create a Stateless application for Docker Container. We can create a container out of our application and take out the configurable state parameters from the application. Now we can run the same container in Production as well as QA environments with different parameters. This helps in reusing the same Image in different scenarios.
Also, a stateless application is much easier to scale with Docker Containers than a stateful application.