The shooting occurred about 2:50 p.m. local time at the Army Medical Department Center and School, prompting a lockdown at the base, WOIA-TV, San Antonio, reported.
The lockdown was lifted after the suspect was taken into custody a short time later.
The victim was in stable condition at San Antonio Military Medical Center, the TV station said.
The Houston Chronicle reported a post official said the gunman was a retired Army sergeant major. The official said he had "no idea" why the man, who turned himself in, began shooting.
Teacher apologizes for showing sexual image of herself in class
Dennis Rodman pledges to end trips to North Korea