Share your image so a server can run it — log in to a registry, tag your image with your username and a version, push it to Docker Hub, and pull it back anywhere.
A registry is where images live so other machines can pull them — Docker Hub is the default public one. To push, your image name must start with your registry username, so you "tag" it into that form, log in, and push. Anyone (or any server) can then pull it back by the same name.
Log in once (create a free account at hub.docker.com first)
docker loginTag your local "myapp" as yourname/myapp version 1.0
docker tag myapp yourname/myapp:1.0Push it to the registry
docker push yourname/myapp:1.0On any other machine, pull it back
docker pull yourname/myapp:1.0If you only ever push "latest", you can never tell which build is running, and "latest" silently changes under you. Give every build an explicit, immutable version tag (a release number or the git commit). Push that AND latest — deploy the version tag, so a rollback is just deploying the previous one.
An image can carry several tags at once
docker tag myapp yourname/myapp:1.2.0docker tag myapp yourname/myapp:latestPush the version you deploy and roll back to
docker push yourname/myapp:1.2.0Push the convenient "newest" pointer
docker push yourname/myapp:latest