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 applications 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 the Go Programming language and is developed by Dotcloud. It is basically a container engine that 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 the step-by-step installation of WordPress content management systems on an Ubuntu 16.04 Xenial Xerus server.
Prerequisites
- A server running one of the following operating systems: Ubuntu 16.04 (Xenial Xerus).
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
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 the 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:
docker ps
Step 4. Installing WordPress Container.
WordPress is made officially available on Docker Hub, pull the image using 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 favorite 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 check the official Docker website.