I put an answer after @Christophe did because in (the first version of) his proposal there are exceptionally some problems.
An order contains at least one dish. But an order is not composed of dishes, so there is no composition, and for me nor even an aggregation.
A dish is made from at least one product, using a given quantity of them. Depending on the product the quantity is a volume (for instance for a liquid), or a weight (for instance for butter) or a number (for instance for egg), etc. For that you can use a class-relation. The relation cannot be a composition because a given product can be used for several dishes.
A menu contains a least one dish, but a given dish can be used in several menus so a composition cannot be used. In my diagrams I use an aggregation but perhaps this is not a good idea.
Supposing you always need to have specialized classes for Menu and Dish you can have :

but I am not sure you always need these specializations, so Dish and Menu are not abstract even they can have specializations, and you can have :

(I suppose a dish is always part of at least one menu, this is a choice, so a 'preparation' made by cook but not part of a menu is not a dish)
As @Christophe said in a remark the customer can ask for some specific instructions (medium versus bloody for the meat etc), that can be supported by a class-relation :
