Docker is the future, its introduced everywhere and you are able to deploy quickly many containers applications in few minutes. i will show in this article the best way to install fully wordpress in few minutes . please follow the instructions bellow.
To install the basic Docker please follow this article:
Now lets deploy the first application, How to deploy wordpress in Docker.
1-What we need
WordPress needs a LAMP stack to run. In this process, we are splitting that LAMP stack into two containers: one that runs the database (MySQL or MariaDB), and one that runs the webserver (PHP with Apache or PHP with Nginx).
Paste the YAML configuration like this:
add the following :
version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRESS_DB_PASSWORD: example mysql: image: mysql:8 command: '--default-authentication-plugin=mysql_native_password' # common options restart: always environment: MYSQL_ROOT_PASSWORD: example
save and exit
docker-compose up will build the images/containers for you and will bring everything up in seconds.
Docker-composer orchestrator dont exist on basic repo of Centos . to do this you need to add the epel repos
yum install epel-release
yum install docker-compose
To user docker-compse orchestrator you have to use the created yaml configuration file.
[[email protected] ~]# docker-compose -f Install-wordpress.yaml up & Pulling mysql (mysql:8)... Trying to pull repository docker.io/library/mysql ... 8: Pulling from docker.io/library/mysql 6ae821421a7d: Pull complete a9e976e3aa6d: Pull complete e3735e44a020: Pull complete bfd564e9483f: Pull complete df705f26e488: Pull complete 0c5547f73d62: Pull complete f437382cf8a1: Pull complete b8e2d50f1513: Pull complete e2e3c9928180: Pull complete b60db6d282cd: Pull complete 1d32deab69c6: Pull complete 408a40cd2e9c: Pull complete Digest: sha256:a571337738c9205427c80748e165eca88edc5a1157f8b8d545fa127fc3e29269 Status: Downloaded newer image for docker.io/mysql:8 Pulling wordpress (wordpress:latest)... Trying to pull repository docker.io/library/wordpress ... latest: Pulling from docker.io/library/wordpress
3-Start The Configuration
Check if the containers are Up
[[email protected] ~]# docker container ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 908afa6b30e5 wordpress "docker-entrypoint..." 55 minutes ago Up 41 minutes 0.0.0.0:8080->80/tcp root_wordpress_1 6fe7fb727fc8 mysql:8 "docker-entrypoint..." 55 minutes ago Up 41 minutes 3306/tcp, 33060/tcp root_mysql_1 [[email protected] ~]#
lunch the browser to IP:8080 to go a head for the installation :
How to Access The WordPress Files in Docker
docker exec -it Container-ID “/bin/bash”
How to Edit WordPress files in Docker
Docker containers are debian based , you can use command apt or apt-get to install packages
apt-get update & apt-get install vim nano
How to access mysql Container and check the database
apt-get update & apt-get mysql-client
Connect to the database using user root , password is example
[email protected]:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 21 Server version: 8.0.15 MySQL Community Server - GPL Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | | wordpress | +--------------------+ 5 rows in set (0.00 sec)
Notice : To detach the tty without exiting the shell, use the escape sequence Ctrl+p + Ctrl+q