The main thing about docking is patience. Once you get close to the ISS, null your relative velocity by thrusting toward the "cross in a ball". Then poit at the middle of the docking approach lane marked by the green boxes (set DockMFD to the desired port, then hit the <HUD> button. And apply a tiny bit of thrust. Don't let the RVEL get much over 10 m/s. By now, you should see the plus sign showing negative RVEL, use translational RCS to move the cross to the green boxes. If you get impatient, use time acceleration - keep the RVEL at 10 or you'll end up flying past it. Once you are in the approach lane, null you're RVEL again with RCS or a quick retro thrust.
Once you are more or less in the lane, turn to align with the dock, using the DockMFD's display. Get the cross centered as perfectly as you can, any misalignment will cause you trouble since any forward or reverse RCS will also cause a lateral motion. Then use translational RCS to move slowly (10 m/s or less) toward the dock, and use translational thrust to keep the plus sign centered in DockMFD. About 20 meters out, use reverse translational thrust to slow down and try to dock at less than one m/s, although you can be going a little faster and still dock.
Always use a low speed (never more than 20 m/s - 10 is better) and use time accell if you get impatient - not more velocity.
Also, it helps if you don't have "gravity gradient torque" enabled in the launch pad until you get some experience. The "absolute killrot" mod helps also, I think it's on Orbit Hanger.