Apache en Docker Instalar apache y php 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: services: web: image: php:8.1-apache restart: unless-stopped ports: - "8080:80" volumes: - ./public:/var/www/html Una vez creado ejecutar: docker compose up -d Crear el contenido de la pagina en la carpeta public . 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 index de prueba   PHP Docker Example  

Hello, PHP Docker!