Techwetrust is a programming blog maintained by Alin Alexandru, a young Python developer. He addresses topics like Python tutorials, Docker tutorials and other tech-related articles.

How to run Nginx with Docker?

Nginx is an opensource high performance and low memory usage reverse proxy for HTTP, HTTPS, POP3, SMTP, and IMAP protocols. It can be used as a load balancer, reverse proxy for other webserver or service or directly as an HTTP server.

In this tutorial, I will show you how to run a local HTTP server to serve your static website without installing anything on your machine, using only Docker.

What you will need: a computer with Docker installed, preferably running Ubuntu (or any Linux distribution) and some basic docker knowledge. Don’t forget to prepare a static HTML page or a whole website.


<!DOCTYPE html>

<h1>My Awesome static page</h1>
<p>My first paragraph about it.</p>


The above file will be our testing static page that will be served by Nginx. You can use anything you want, even a whole static website. You can run a simple docker Nginx image by typing docker run --name my-nginx -d nginx, but we want to forward its 80 port to our machine’s 80 port. So, we are gonna run a Nginx container with the following arguments:

docker run --name my-nginx -p 80:80 -v /[your-path]/my-website:/usr/share/nginx/html:ro -d nginx

You can test if it works in your browser, browsing the localhost address.

index.html served with Nginx container
index.html served with Nginx container

Also, to list all running docker containers:

docker ps

To stop it:

docker stop my-nginx

To remove the image:

docker rm my-nginx

Alin Alexandru


Hello! My name is Banuta Alexandru Alin and I am working as a full-time programmer. I have experience in data mining, data science, and data parsing/crawling. I like to travel when I have some days off. May my knowledge help you and protect your way!

Leave a Reply