a container is designed to virtualize a single application, and all containers deployed on a host share a single OS kernel.1
docker containers are platform-agnostic, but also hardware-agnostic.1
docker images are built layer-by-layer and the layers can be shared with multiple images to save disk space on the host (as well as deployment time).1
there are some differences when installing nvidia-docker between version 1.0 and version 2.0, nvidia-docker 1.0 must register runtime, just follow as nvidia-docker github. More detail can be seen in this CSDN blog.2