How to Setup a Simple Apache Web Server in a Docker Container

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Gabriel Cánepa

Gabriel Cánepa is a GNU/Linux sysadmin and web developer from Villa Mercedes, San Luis, Argentina. He works for a worldwide leading consumer product company and takes great pleasure in using FOSS tools to increase productivity in all areas of his daily work.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

4 Responses

  1. Tobias says:

    docker must not be run as root or with sudo. I am not sure the rest of article is a best practice either.

  2. Tibor Kiss says:

    It does not work for me.

    The requested URL /docker.html was not found on this server.

  3. Jake Raymond says:

    I have done all the steps up to running the webpage in a browser. How would I find the proper webpage to get it running? I’m running docker remotely on a Raspberry Pi, and accessing it through ssh on a Macbook.

  4. R.H. Hartman says:

    The above will get you an 503 error: not authorized, as selinux will block access to docker.html.

    The way to overcome this is to change the line
    # sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4
    # sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/:Z httpd:2.4

    The :Z will ensure the proper selinux context is set.

    Lower case :z is also an option, see.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.