What is Joomla?
Joomla! is a free and open-source content management system (CMS) for publishing web content. Over the years Joomla! has won several awards. It is built on a model–view–controller web application framework that can be used independently of the CMS that allows you to build powerful online applications. -https://www.joomla.org/about-joomla.html
Installing Docker
- Log into the Linux host and run the following commands in a terminal window
# update software respositories
sudo apt update
# install available software updates
sudo apt upgrade -y
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# add docker apt repository
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running Joomla Container
- Continue with the following commands in a terminal window
# create working directories
mkdir ~/docker/joomla -p && mkdir ~/docker/mariadb -p
# set owner of working directories
sudo chown "$USER":"$USER" ~/docker -R
# create containers network
docker network create containers
# run the mariadb docker container
docker run -d --name mariadb -e MYSQL_ROOT_PASSWORD=r00tp@$$ -e MYSQL_USER=joomla_rw -e MYSQL_PASSWORD='J00mla!!' -e MYSQL_DATABASE=joomla -v ~/docker/mariadb:/var/lib/mysql --network containers mariadb:latest
# run the joomla docker container
docker run -d --name joomla -p 8080:80 -e JOOMLA_DB_HOST=mariadb -e JOOMLA_DB_USER=joomla_rw -e JOOMLA_DB_PASSWORD='J00mla!!' -e JOOMLA_DB_NAME=joomla -v ~/docker/joomla:/var/www/html --network containers joomla:latest - Open a web browser and navigate to http://DNSorIP:8080
- The Joomla! setup screen should be displayed
- Select a Language and set the site title > Click Setup Login Data
- Create an admin/super user account > Click Setup Database Connection
- Enter the database configuration as follows:
Database Type: MySQLi
Host Name: mariadb
Username: joomla_rw
Password: J00mla!!
Database Name: joomla
Table Prefix: jmla_ - Click the Install Joomla button
- When the installation completes, click on the Completed & Open Site button
- Welcome to Joomla!
Source: https://hub.docker.com/_/joomla