# If you want to avoid tagging, docker build -q outputs nothing but the final image hash, which you can use as the argument to docker run:
docker run -it $(docker build -q .)
#And add --rm to docker run if you want the container removed automatically when it exits.
docker run --rm -it $(docker build -q .)
# I use docker-compose for this convenience since most of the apps I'm building are talking to external services sooner or later, so if I'm going to use it anyway, why not use it from the start. Just have docker-compose.yml as:
version: "3"
services:
app:
pull_policy: "build"
build: .
# and then just run the app with:
docker-compose up --build app
#It will rebuild the image or reuse the container depending on whether there were changes made to the image definition.
docker run --rm -dit -p 22:22 -p 80:80 -p 443:443 --name vm1 $(docker build -q .)