Skip to content

Instantly share code, notes, and snippets.

@codewithleader
Created February 24, 2024 13:08
Show Gist options
  • Save codewithleader/7414cfb3e94aa44fb7567197e80a65fb to your computer and use it in GitHub Desktop.
Save codewithleader/7414cfb3e94aa44fb7567197e80a65fb to your computer and use it in GitHub Desktop.
docker-compose.yml Template
version: '3.8'
# Servicios
services:
# Servicio para la base de datos MySQL
db:
image: mysql:8.0.34
container_name: db
mem_limit: 512m # Establece un límite de 64 megabytes de RAM
ports:
- '3306:3306' # Mapea el puerto 3306 del host al puerto 3306 del contenedor
command: --default-authentication-plugin=caching_sha2_password
restart: always # Reinicia automáticamente el contenedor en caso de fallo
environment:
MYSQL_DATABASE: ${DB_NAME} # Nombre de la base de datos
MYSQL_ROOT_PASSWORD: ${DB_PASS} # Contraseña del usuario root
volumes:
- ./docker/db/dump:/docker-entrypoint-initdb.d # Carga archivos SQL al iniciar
- ./docker/db/conf:/etc/mysql/conf.d # Carga configuraciones personalizadas
- ./docker/db/mysql:/var/lib/mysql # Persistencia de datos de MySQL
networks:
- my_network # Conecta este servicio a la red personalizada my_network
# Servicio Imagen from Dockerfile "Debian+Apache+PHP"
www:
build: .
container_name: www
image: devwebcamp # Nombre y etiqueta de la imagen personalizada (Ej: devwebcamp:1.0)
mem_limit: 64m # Establece un límite de 64 megabytes de RAM
ports:
- '80:80' # Mapea el puerto 80 del host al puerto 80 del contenedor
volumes:
- ./docker/php/config:/usr/local/etc/php/ # Configuracion de PHP
- ./public:/var/www/html # Monta la aplicación web en el directorio del contenedor
- .:/var/www # Agregar este volumen para el acceso a los archivos incluidos
networks:
- my_network # Conecta este servicio a la red personalizada my_network
# Definición de la red personalizada
networks:
my_network:
name: mynetwork # Nombre de la red personalizada
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment