We are looking for ways we can do one box test in our production services which runs on docker swarm
Is there a way where one can push a later version of the image to one of the replica's in swarm for some time and roll it back ?
You can only change an image for an entire Service, not a replica container in that service.
If you want to test an app, you would start a new Service on a different port or URL (if using a reverse proxy) and then tear it down later.
You could also use that method with a reverse proxy to do a blue/green/canary deployment.