The calculated distance (air line) between Cockenzie and Bonnyrigg is approximately 9 miles respectively 14 kilometers.
By car or train, the actual journey to Bonnyrigg is certainly longer, as only the direct route (as the crow flies) between Cockenzie and Bonnyrigg has been calculated here.