Install OpenResty Inside Docker Container in Linux

Install OpenResty Inside Docker Container in Linux

OpenResty is a web platform based on Nginx and LuaJIT. OpenResty includes Nginx web server and modules, Lua programming language and Lua libraries for tasks that related with web applications.

This tutorial explains how to install OpenResty inside a Docker container in the Linux. Commands have been tested on Ubuntu.

Prepare environment

Make sure you have installed Docker in your system. If you are using Ubuntu, installation instructions can be found in the post.

Install OpenResty

  • Host network

Run the following command to create a container for OpenResty that uses host network:

docker run -d --name=openresty --restart=always --network=host \
    -v /var/www:/usr/local/openresty/nginx/html \
    openresty/openresty
  • User-defined bridge network

User-defined bridge network can be used for listening on different port. By default, OpenResty service is listening on port 80. It can be changed with -p option.

docker network create app-net
docker run -d --name=openresty --restart=always --network=app-net \
    -p 8080:80 \
    -v /var/www:/usr/local/openresty/nginx/html \
    openresty/openresty

Testing OpenResty

Create simple index.html for testing:

echo '<!DOCTYPE html><html><head><title>Title</title></head><body>Hello world</body></html>' | sudo tee /var/www/index.html

Open a web browser and go to http://<IP_ADDRESS>, where <IP_ADDRESS> is the IP address of the system. You will see a recently created page.

OpenResty Inside Docker Container in Linux

Uninstall OpenResty

To completely remove OpenResty, remove its container:

docker rm --force openresty

Remove OpenResty image:

docker rmi openresty/openresty

You can also remove OpenResty web data:

sudo rm -rf /var/www

If a user-defined bridge network was created, you can delete it as follows:

docker network rm app-net

Leave a Comment

Cancel reply

Your email address will not be published.