Does docker stack deploy work with local images
In this workflow I would suggest running the docker-registry container locally in another Stack and then tagging and pushing your images to that "host" so that you can pull them from there when building your other stacks.
docker build -t my.docker.registry:5000/myimage:latest -t my.docker.registry:5000/myimage:specificversion .
Then docker push my.docker.registry:5000/myimage
which will put it on your local registry.
After that you should be able to pull from it for your stacks and push a new version and tag it as latest whenever you change the contents of the container.
Outlined with an alternate example, https://forums.docker.com/t/docker-swarm-mode-and-local-images/22894/3
You should try building your local image this way:
docker build -t myimage .
and refer it as "myimage:latest" in your compose file, if you want to use the local image.
If you want to push this to the hub then tag it first
docker tag id_of_myimage my_dockerhub_username/myimage:latest
and then push it.
docker push my_dockerhub_username/myimage:latest