awesome-compose/wordpress-mysql
Guillaume Lours 4bba832f88
Arm64 and check Compose v2 support (#177)
add support of arm64 architecture for the following samples: 
* aspnet-mssql
* elasticsearch-logstash-kibana
* nginx-aspnet-mysql
* nginx-flask-mysql
* nginx-golang-mysql
* react-java-mysql
* sparkjava-mysql
* wordpress-mysql
* react-express-mysql
* react-express-mongodb

Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2021-11-08 11:41:35 +01:00
..
docker-compose.yaml Arm64 and check Compose v2 support (#177) 2021-11-08 11:41:35 +01:00
output.jpg Add wordpress-mysql sample 2020-03-18 21:33:08 +01:00
README.md Arm64 and check Compose v2 support (#177) 2021-11-08 11:41:35 +01:00

WordPress with MySQL

This example defines one of the basic setups for WordPress. More details on how this works can be found on the official WordPress image page.

Project structure:

.
├── docker-compose.yaml
└── README.md

docker-compose.yaml

services:
  db:
    # We use a mariadb image which supports both amd64 & arm64 architecture
    image: mariadb:10.6.4-focal
    # If you really want to use MySQL, uncomment the following line
    #image: mysql:8.0.27
    ...
  wordpress:
    image: wordpress:latest
    ports:
      - 80:80
    restart: always
    ...

When deploying this setup, docker-compose maps the WordPress container port 80 to port 80 of the host as specified in the compose file.

INFO
For compatibility purpose between AMD64 and ARM64 architecture, we use a MariaDB as database instead of MySQL.
You still can use the MySQL image by uncommenting the following line in the Compose file
#image: mysql:8.0.27

Deploy with docker-compose

$ docker-compose up -d
Creating network "wordpress-mysql_default" with the default driver
Creating volume "wordpress-mysql_db_data" with default driver
...
Creating wordpress-mysql_db_1        ... done
Creating wordpress-mysql_wordpress_1 ... done

Expected result

Check containers are running and the port mapping:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
5fbb4181a069        wordpress:latest    "docker-entrypoint.s…"   35 seconds ago      Up 34 seconds       0.0.0.0:80->80/tcp    wordpress-mysql_wordpress_1
e0884a8d444d        mysql:8.0.19        "docker-entrypoint.s…"   35 seconds ago      Up 34 seconds       3306/tcp, 33060/tcp   wordpress-mysql_db_1

Navigate to http://localhost:80 in your web browser to access WordPress.

page

Stop and remove the containers

$ docker-compose down

To remove all WordPress data, delete the named volumes by passing the -v parameter:

$ docker-compose down -v