How to Combine Build and Run Commands in Docker

  1. Purpose of docker build and docker run Commands
  2. Combine Docker Commands Using the Double Ampersand Operator (&&)
  3. Combine Docker Commands Using Command Substitution
  4. Conclusion
How to Combine Build and Run Commands in Docker

If we automate the creation of containers using a Dockerfile, we usually use the docker build and run commands. However, we typically combine most commands in just one run to declutter the local image repository.

This article will discuss combining commands like docker build and run in just one line.

Purpose of docker build and docker run Commands

Using the docker build and docker run commands together can be helpful in several scenarios. For example, if we are developing a new application and want to test it quickly, you can use these commands to build and run it in a container.

This can save you time and make it easier to test your application.

The docker build command reads the instructions in the Dockerfile and uses them to create the Docker image. If we have already built our Dockerfile, we can use the docker run -it command to run the image.

This command creates a new container from the image and runs it in interactive mode.

This mode means we can interact with the container and run commands inside. Though we can run these separately, there are a couple of ways of running them in just one line.

Combine Docker Commands Using the Double Ampersand Operator (&&)

One way to combine the docker build and docker run -it commands is to use the --rm flag with the docker run command. This flag instructs Docker to remove the container when it automatically exits.

This flag means that we can run the docker build and docker run commands in one line like this:

docker build -t my-image . && docker run --rm -it my-image

In this example, my-image is the name of the Docker image that will be built and run. The period (.) at the end of the docker build command indicates that the Dockerfile is in the current directory.

Once we run this command, Docker will build the image using the instructions in the Dockerfile and then run the image in a new container. The --rm flag ensures that we automatically remove the container when it exits.

Combine Docker Commands Using Command Substitution

Another example of combining the two commands is nesting them with the dollar sign ($) operator. The command should look something like this:

docker run --rm -it $(docker build -t my-image)

The $(...) syntax is called command substitution. We use command substitution because Docker uses the output of a command as an argument to another command.

In the case above, Docker executes the docker build -t my-image command first, and it uses the output (the ID of the newly built Docker image) as the argument to the docker run command. By using substitution, Docker causes the docker run command to run the Docker image with the ID returned by the docker build command.

Additionally, if we are deploying an application to a production environment, we can use this method to build the Docker image and run it on the production server. This can help ensure that your application runs in a consistent environment and make it easier to manage and maintain.

Conclusion

Overall, the docker build and docker run commands are powerful tools for building and running Docker images. Combining these commands allows us to build and run a Docker image in just one line of code, making it easier and faster to develop, test, and deploy your applications.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn