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.
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.