Armature refuse to be dupicated to the other side
There are two separate issues with your setup.

First about the symmetry issue of the armature.
For symmetrize the X-axis is used. So the orientation of your model should be correct. If I see the screenshot you posted, the orientation is wrong (the Y-axis is the desired mirror axis there). In your blend file you have corrected this, but you still have to apply the rotation ( CTRL + A -> Rotation) on the armature, because symmetrize uses the local orientation. (May I also suggest you rotate it on the Z-axis by 180 degrees, so that when you are in front view you see the front of the dog?)
Furthermore you have to make sure the naming of your bones is consistent for the left and right side. Blender's convention is that bones on the left side end with .L and bones on the right side with .R. When you use symmetrize, the bones get mirrored from left to right by default ("-X to +X"). But after the operation you can switch this to "+X to -X" if needed in the operator toolbar. If the bones on the left (or right) don't exist yet they are created and get the proper suffix .R (or .L).

Secondly about the mesh not deforming properly.
You have to apply the mirror modifier that's on the mesh, so the right side can deform independently from the left side.  Now the right half of the mesh mirrors the (deformed) left half.

After this you should remove the armature modifier and delete all vertex groups from the mesh. Then parent the mesh again to the armature and choose 'With Automatic Weights' (or whatever you prefer).
The pole angle on the IK constraints on the right needed to be corrected after symmetrize (set to 0).

Here is the corrected blend file so you can study it if needed.