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.