Modify Hadoop source code to add Docker Awareness to MapReduce, so that a MapReduce job running in a docker container A on the same physical host as datanode B can achieve data locality.
See also Rack Awareness as a starting point: http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/RackAwareness.html