While a rocket in a vacuum would indeed have an exhaust that would interact gravitationally with the rocket, slowing it down very slightly, there is something much more fundamental that prevents an object that constantly increases it's velocity (i.e. an object that accelerates) from reaching the speed of light.
This is the fact that velocities don't add the same way in special relativity that they do in classical mechanics. By "velocity addition, I mean that if we have three observers, A, B, and C, and that the relative velocity between A and B (as measured by either A or B) is ##v_1##, and the relative velocity between B and C (as measured by either B or C) is ##v_2##, and the velocity between A and C (as measured by either A or C) is ##v_3##, ##v_3## is not equal to, and is in fact less than , ##v_1 + v_2##. The exact formula when the velocities are all parallel is ##v_3 = (v_1 + v_2) / (1 + v_1 \, v_2 / c^2)##. I'll suggest that the mathematically inclined reader try to show that with this formula, no matter how many times one adds together a chain of velocities less than c, the result will always be less than c.
So while one can always add that extra meter/second to A's velocity in A's frame (creating an observer which we call B in the above formula), from the non-accelerating frame C, the change in A's velocity is much less than 1 meter/second and A's velocity will never reach the speed of light.