Foster a dog - When you are taking care of a dog temporarily, while you or someone else (often a dog rescue agency) looks for a permanent home for the dog.
Feed a dog - Giving a dog some food. This could be any dog (not necessarily your dog).
Raise a dog - When you get the dog as a puppy and take care of and train him/her.
Keep a dog - Usually used in terms of not giving a dog away. You can foster a dog, planning to give the dog away, but eventually decide to keep the dog. Or, if your dog had puppies, you could give or sell all except one. Then you would be keeping that one dog, and raising him.