In this tutorial, we will show you how to install WordPress with Docker on Ubuntu 16.04 LTS. For those of you who didn’t know, Docker is an open-source project that automates the deployment of application inside the software container. The container allows the developer to package up all project resources such as libraries, dependencies, assets etc. Docker is written in Go Programming language and is developed by Dotcloud. It is basically a container engine which uses the Linux Kernel features like namespaces and control groups to create containers on top of an operating system and automates the application deployment on the container.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation WordPress content management systems on an Ubuntu 16.04 Xenial Xerus server.
Install WordPress with Docker on Ubuntu 16.04 LTS
Step 1. First, make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.
sudo apt-get update sudo apt-get upgrade
Step 2. Installing Docker.
A Ubuntu 16.04 Docker server is required. If you do not have Docker installed, you can follow our guide here.
Step 3. Installing MariaDB Container.
Before installing WordPress with Docker you will need to have somewhere to store the data. MariaDB is a community-developed relational database management system and a drop-in replacement for MySQL:
mkdir ~/wordpress && cd ~/wordpress
Next, we create the MariaDB container with the command:
docker run -e MYSQL_ROOT_PASSWORD=<password> -e MYSQL_DATABASE=wordpress --name wordpressdb -v "$PWD/database":/var/lib/mysql -d mariadb:latest
If Docker was successful at creating the container, you should see a code at the end of the output similar to the example below:
... Status: Downloaded newer image for mariadb:latest 23df0ec2e48beb1fb8704ba612e9eb083f4193BMWe4611102bc91232955cccc54
You can confirm that the MariaDB container is running by using the following command:
Step 4. Installing WordPress Container.
WordPress is made officially available on Docker Hub, pull the image using with the command below:
docker pull wordpress
Run the command below while replacing the <password> and <server public IP> as appropriate to your cloud server:
docker run -e WORDPRESS_DB_PASSWORD=<password> --name wordpress --link wordpressdb:mysql -p <server public IP>:80:80 -v "$PWD/html":/var/www/html -d wordpress
Finally, step, restart Docker and the database container, also make sure no other service is already bound to the port 80:
sudo service docker restart docker start wordpressdb
*Note: Full command-line documentation is also available over at Docker support page.
Step 5. Accessing WordPress Installation.
WordPress will be available on HTTP port 80 by default. Open your favourite browser and navigate to http://yourdomain.com/wp-admin/install.php or http://server-ip/wp-admin/install.php and complete the required steps to finish the installation. If you are using a firewall, please open port 80 to enable access to the control panel.
Congratulations! You have successfully installed WordPress with Docker. Thanks for using this tutorial for installing WordPress with Docker on your Ubuntu 16.04. For additional help or useful information, we recommend you to check the official Docker website.