Add docker pull module, continue joshuaconner's work on #6340 to a new module

reference to  #6340