Last active
January 29, 2025 01:26
-
-
Save codewithleader/7414cfb3e94aa44fb7567197e80a65fb to your computer and use it in GitHub Desktop.
docker-compose.yml OPTION #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# version: '3.8' # YA NO ES NECESARIO ESTABLECER LA VERSION | |
name: 'my-app' # https://docs.docker.com/compose/project-name/#set-a-project-name | |
# 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: | |
# HOST_PORT:CONTAINER_PORT | |
- '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: | |
depends_on: | |
- db # El servicio "www" solo se levanta cuando el servicio "db" esté listo. | |
build: . | |
container_name: www | |
image: devwebcamp # [¡Algunas veces da Error!] Nombre y etiqueta de la imagen personalizada (Ej: devwebcamp:1.0) | |
develop: | |
watch: # Command: `docker compose up --watch` | |
- action: sync | |
path: ./projectFolder/src | |
target: /usr/src/app/src | |
ignore: | |
- node_modules/ | |
- action: rebuild | |
path: package.json | |
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: # !IMPORTANTE: NO USAR VOLUMES EN LOS SERVICES CON WATCH MODE | |
- ./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