From 198f084bd21f6c1c28561a02940d03ba22ae7f7b Mon Sep 17 00:00:00 2001 From: Sayed Jawad Hussaini Date: Thu, 24 Apr 2025 01:43:08 +0200 Subject: [PATCH] assignment1 improvments --- z1/.env | 4 ++++ z1/docker-compose.yml | 52 ++++++++++++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 15 deletions(-) create mode 100644 z1/.env diff --git a/z1/.env b/z1/.env new file mode 100644 index 0000000..88be3de --- /dev/null +++ b/z1/.env @@ -0,0 +1,4 @@ +MYSQL_ROOT_PASSWORD=jawad@password123 +MYSQL_DATABASE=cloud_database +MYSQL_USER=jawad1 +MYSQL_PASSWORD=jawad@password123 \ No newline at end of file diff --git a/z1/docker-compose.yml b/z1/docker-compose.yml index 7172703..61d186f 100755 --- a/z1/docker-compose.yml +++ b/z1/docker-compose.yml @@ -1,39 +1,61 @@ -version: '3' +version: '3.8' + +x-defaults: &defaults + restart: unless-stopped + logging: + driver: json-file + options: + max-size: "10m" + max-file: "3" services: db: - image: mysql:5.7 + <<: *defaults + image: mysql:5.7.42 volumes: - db_data:/var/lib/mysql - restart: unless-stopped environment: - - MYSQL_ROOT_PASSWORD=jawad@password123 - - MYSQL_DATABASE=cloud_database - - MYSQL_USER=jawad1 - - MYSQL_PASSWORD=jawad@password123 + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] + interval: 10s + timeout: 5s + retries: 5 networks: - wordpress_network wordpress_app: - image: wordpress:latest + <<: *defaults + image: wordpress:6.2.2-php8.1-apache depends_on: - - db + db: + condition: service_healthy ports: - "8080:80" - restart: unless-stopped environment: - - WORDPRESS_DB_HOST=db - - WORDPRESS_DB_USER=jawad1 - - WORDPRESS_DB_PASSWORD=jawad@password123 - - WORDPRESS_DB_NAME=cloud_database - - WORDPRESS_CONFIG_EXTRA=define('WP_SITEURL', 'http://localhost:8080'); define('WP_HOME', 'http://localhost:8080'); + WORDPRESS_DB_HOST: db:3306 + WORDPRESS_DB_USER: ${MYSQL_USER} + WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD} + WORDPRESS_DB_NAME: ${MYSQL_DATABASE} + WORDPRESS_CONFIG_EXTRA: | + define('WP_HOME','http://localhost:8080'); + define('WP_SITEURL','http://localhost:8080'); volumes: - wordpress_data:/var/www/html + healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost || exit 1"] + interval: 30s + timeout: 10s + retries: 3 networks: - wordpress_network networks: wordpress_network: + driver: bridge volumes: db_data: