The incident was caught on video surveillance at the store in Albany, N.Y.
In the video, Yiqiang Wu, 47, is seen yelling derogatory comments at him about America and the man's service.
The Army captain was in fatigues and was behind him in the checkout line.
"It started with the middle finger and the officer asked if it was for him or something of that nature and it escalated from there," Officer Steve Smith said.
Wu began striking the captain several times in the face, while the man did not fight back.
"It looks like he displayed a great deal of restraint which is consistent with the armed forces, law enforcement and public service," Smith said. "We are held at a higher standard and you have to commend him for being able to have that restraint."
It is not clear what type of injuries the captain sustained but it was reported that he was treated at the scene.
Wu is currently out of jail on bail and it is not known if he has a lawyer.