Yes, all containers are backwards compatible, pretty much to the first version.
In general backwards compatibility is a big deal in the Docker project - breaking changes are taken very seriously and we try to avoid them as much as humanly possible. That applies to the container image format, Dockerfile format, remote API and command-line interface. It's also important to preserve portability across drivers. For example different storage drivers (aufs, btrfs, devicemapper etc) don't affect the format of the images they produce.