Instalar apache, php y mariadb

Requisitos
Docker Engine
Nginx proxy manager
Un dominio/subdominio
Instalación
Crear una carpeta para almacenar el contenedor de Docker 
mkdir -p docker/apache_server, dentro de esta carpeta creamos un archivo llamado 
docker-compose.yml con:
#apache php y sql
services:
  web:
    build: 
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - ./public:/var/www/html
    networks:
      - my_network
    depends_on:
      - db
  db:
    image: mariadb:latest
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: mydatabase
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - my_network
volumes:
  db_data:
networks:
  my_network:
    driver: bridge
Crear 
Dockerfile para instalar los módulos de php.
# Usa la imagen base de PHP con Apache
FROM php:8.1-apache
# Instala las extensiones necesarias
RUN docker-php-ext-install mysqli
# Habilita mod_rewrite de Apache si es necesario
RUN a2enmod rewrite
Una vez creado ejecutar:
docker compose up -d
Crear el contenido de la pagina en la carpeta 
public.
Si te quieres conectar a la base de datos:
# Instalar cliente
sudo apt install mariadb-client
# Obtener la informacion del contenedor
sudo docker ps -a
sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' id_contenedor_mariadb
# Conectarse
mysql -u usuario -p'password' -h ip