Why hello there fellow dragon breeder! Dragon breeding is certainly possible, but there are several issues.
First off, dragons cannot be fully tamed and domesticated. They can be masterfully trained, but without a child token to their raws, they cannot be domesticated and their training levels will deteriorate over time. They will need training every now and then to reinforce their training levels, so make sure you have trainers available. If I'm not wrong, training takes place every season or so, but there is no fixed timing for this as animal trainers set their own schedule. If you miss the timing for training that season, you will have to wait for the next season for training. You don't really need to be concerned with training experience because the constant need for training reinforcement is sure to increase the skill level of your animal trainers.
Training levels will be passed on from the mother's side. So it is better to put your best trainers on the female dragons, so that the young dragons will not revert to wild as easily when born.
Secondly, you'll want to check their gender orientation to see if they are suitable for breeding. DF therapist will show you under the animals tab. If they are not compatible, you could use the DFhack command "gui/gm-editor" to change their orientation if you want to bypass the hassle of capturing another compatible dragon. You'll need to go to status, current soul, orientation_flags to check. If the dragons are not heterosexual, you can change the values for romance *opposite gender* and marry *opposite gender* from "false" to "true" to change it. Likewise, you'll want them to stop them from romancing and marrying the same gender so change that from "true" to "false".
Ever since the removal of spore breeding, animals need physical contact in order to breed. Cages are fine for males but female need to be allowed free access to a nestbox, chains are also a good option for both. Being chained renders the dragon harmless even if they revert back to wild. They will not attack or breathe fire (unless they see military units) but will need to be tamed again by an animal trainer. I predominantly use steel chains as magma proof constructions are not necessarily dragonfire proof. But metal constructions are definitely dragonfire proof.
As megabeasts, they are enemy of civs and will attack (with dragonfire) any ACTIVE military in sight range even if well trained. I'm not sure if this applies to caravan guards and the like but I will assume it is. INACTIVE military will not be attacked. You will want to build your nestboxes and training grounds away from routes that ACTIVE military will be taking, like weapon, armor stockpiles, bedrooms, dining halls, wells, food and drink stockpiles and so on. Its best if you put them somewhere off the way.
Last of all, dragon meat, innards and scales are all magma and fire proof. Use atom smashers (raising bridges) to get rid of them.
Enjoy your dragons!'
P.S. I don't think you can get demons to breed, even naturally.