Docker was snapshots of developer machines you can run in production. They never promised that it would run everywhere.
That way you don't have "works on my machine" problems, because both prod and dev are clean virtualized identical systems (containers)