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.
Beyonce flaunts bikini body, Blue Ivy in vacation pics
Couple mistakenly served bag of cash at McDonald's drive-thru