Research on Content Delivery Networks (CDNs) offers a number of effective methods for caching of content replicas or forwarding requests. Clouds, however, present a new kind of distribution environment as each location can support multiple caching options varying in the level of persistence of stored content. This paper proposes a distributed caching technology specific to fog clouds which, by definition, consist of a high number of loosely controlled heterogeneous locations. To deal with the heterogeneity problem and, at the same time, avoid centralized control, this paper proposes a function that allows CDN applications to discover local caching facilities dynamically, at runtime. For simplicity, this paper analyzes the case when each location offers two caching options: VM-based for each app and location-global shared by all local apps. Analysis in this paper shows that the new method can reduce inter-cloud traffic by between 16 and 18 times while retaining less than 30% of total content in a local cache.