Docker - Build and Run One-liner
Last Updated on Sat, 12 Nov 2022 03:46:15 GMT - Edit Page
From the path containing the Dockerfile:
docker run --rm $(docker build -q .)
Add other flags if necessary, for example -p 8080:80 to map container port 80 to host port 8080:
docker run --rm -p 8080:80 $(docker build -q .)
Watch out for Dangling Images.
Explanation
Command docker build builds an image from a Dockerfile.
Flag -q (quiet). Output the image ID only. In our case, the image ID is then passed directly to the docker run command.
Path to the Dockerfile. The . is used to specify the current directory.
$ docker build -q .
sha256:018034711c529bcf98bb9683f2cd67f2912caadf3ab8040f5e4f811578b7693f
Command docker run creates and starts a new container.
$ docker run --rm IMAGE-ID
An image ID is required.
Flag --rm deletes the container when it exists.