Hello, readers! In this article, we will be focusing on Building an Apache Web Server through a Dockerfile.
So, let us begin! 🙂
What is Apache Server?
Apache Server is an open source web server to configure and host the web applications online and locally as well using localhost as the medium.
It requires a lot of configuration when one wishes to set up an apache server on the workstation.
To reduce this over, Docker has introduced the concept of Dockerfile to build and set up configurations easily.
In the course of this topic, we will be setting up Apache server on our systems with just minimal steps to work with.
Let us begin 🙂
Apache Server through a Dockerfile
We need to follow the below steps to set up an Apache Server through a Dockerfile-
- Create a directory for all the files related to apache set up
- Create a Dockerfile
- Build an image over the Dockerfile and tag the same for convenience
- Run the apache server as a container
Step 1: Create a directory for apache server files
At first, we make use of the below mkdir command to create a directory specifically for all the apache related files.
mkdir apache_folder
Step 2: Building a Dockerfile
Having created a folder as shown above, now we go ahead and create a Dockerfile within that folder with the vi editor —
vi Dockerfile
As soon as we execute the above command, a vi editor opens. Paste the below content in the Dockerfile and perform the below steps to exit the editor-
Press ESC<:<wq!<Enter
FROM ubuntu
RUN apt update
RUN apt install –y apache2
RUN apt install –y apache2-utils
RUN apt clean
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]
Step 3: Tag and Build the docker image
Now, we build the Dockerfile using docker build command. Within which, we tag the image to be created as 1.0 and give a customized name to our image i.e. apache_image.
docker build -t apache_image:1.0 .
Once the image has been built, we should check for the presence of the image using docker images command.
The docker images command gives us a list of all the images that are built or pulled from any public/private registry.
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
apache_image 1.0 a738dbef66ef 15 seconds ago 133MB
Step 4: Run the docker image as a container
Once the image has been built, run the image as a container locally. For the same, the below configurations are required–
- We run the container in detached mode so that it runs continuously in the background. For the same, include -d in the docker run command.
- In order to host the apache server, we provide port 80 (HTTP) for the same. Make use of -p 80:80 to have the server running on localhost.
Thus, docker run command also takes the image along with the associated tag as input to run it as a container.
docker run --name myapache -d -p 80:80 apache_image:1.0
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
443848c30b74 apache_image:1.0 "/docker-entrypoint.…" 7 seconds ago Up 6 seconds 0.0.0.0:80->80/tcp myapache
Step 5: Review the online presence of Apache Server
In order to test the presence of Apache server on the system, visit any local browser and type localhost.
The below page should be seen as output–

Conclusion
By this, we have come to the end of this topic. Feel free to comment below, in case you come across any question.
For more such posts related to Docker, Stay tuned with us.
Do let us know your experience in setting up the Apache Server onto your workstations, in the comment box.
Till then, Happy Learning! 🙂