A Guide to build and run docker-image

Docker simplifies the process of packaging, distributing, and running applications in a consistent environment. In this blog post, we'll walk you through the essential steps, from writing your application code to pushing the Docker image to a private or public registry.

1. Write Your Application Code

Start by developing your application in the language of your choice. Whether it's Java, Python, JavaScript, HTML, or CSS, Docker can containerize applications written in various languages.

2. Build Your Docker Image

To containerize your application, you need to create a Dockerfile. This file contains instructions for building a Docker image, which is a lightweight, standalone, and executable package that includes your application and its dependencies. Let's take an example of Java application..

                    
                        # Use the official OpenJDK base image with a specific Java version
                        FROM openjdk:17
            
                        # Set the working directory inside the container
                        RUN mkdir -p /home/my-app
            
                        # Copy the JAR file (your Java application) into the container
                        COPY target/app-0.0.1-SNAPSHOT.jar /home/my-app/application.jar
            
                        # Expose the port your application listens on (if applicable)
                        EXPOSE 8080
            
                        # Define the command to run your Java application
                        CMD ["java", "-jar", "/home/my-app/application.jar"]
                    
                

After creating your Dockerfile, build the Docker image by running the following commands in the terminal:

                    
                        docker build . -t image-name:version
                        docker run image-name:version
                    
                

If your application uses a specific port, you can map it to the host machine using the -p flag. For example:

                    
                        docker run -p 8000:8000 image-name:version
                    
                

3. Push Your Image to a Registry

Once you've successfully built your Docker image, you may want to share it with others or deploy it to different environments. This involves pushing the image to a Docker registry.

                    
                        # Login to Docker Registry
                        docker login
            
                        # Tag and Push the Image
                        docker tag old_image:latest new_image:latest
                        docker push domain_registry/image-name:version
                    
                

4. Pull Your Image from the Registry and Run on a Machine

                  
                      # Pull the Image
                      docker pull domain_registry/image-name:version
          
                      # Run the Image
                      docker run -p 8000:8000 domain_registry/image-name:version
                  
              

We can automate above process using Jenkins or GitHub Actions

Back to Blog