We take an empty coke bottle (2 liter, 20 oz, water bottle, they really aren't picky) and rinse it out and let it dry for an hour or so and then stick one of his bones or a couple treats in it and close the top. As long as my puppy sees me putting the bone/treat in the bottle he'll go after it for hours. It drives him crazy trying to get to the treat/bone and when he rolls it, it makes noise so it keeps him interested. You just have to be able to deal with the added noise if you don't have carpeted floors.
I use the 20 oz or 2 liter bottles usually because the plastic is a lot thicker so they can't chew it into pieces. If you use a water bottle you really need to watch it. Otherwise, the bottles with thicker plastic hold up for about a week before you really need to start watching it.
[EDIT] So I just saw the post above me, and we pretty much do the same thing...just with treats. Should have read all of the responses first.