From 756cad6ddf39863cea4804ff5b02a1215518758c Mon Sep 17 00:00:00 2001 From: "Yankova, Liliya (UG - Computer Science)" <ly00240@surrey.ac.uk> Date: Wed, 26 May 2021 16:28:38 +0100 Subject: [PATCH] Added sql script for creating the user table on docker compose --- Dockerfile | 2 -- ReadMe.txt | 7 ++++--- docker-compose.yaml | 27 +++++---------------------- php/Dockerfile | 2 ++ sql/Dockerfile | 6 ++++++ sql/create_user.sql | 14 ++++++++++++++ 6 files changed, 31 insertions(+), 27 deletions(-) delete mode 100644 Dockerfile create mode 100644 php/Dockerfile create mode 100644 sql/Dockerfile create mode 100644 sql/create_user.sql diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d1b4eea..0000000 --- a/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM php:7.2.2-apache -RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli \ No newline at end of file diff --git a/ReadMe.txt b/ReadMe.txt index eee1823..f3e4163 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -7,8 +7,9 @@ docker ps -> check running containers docker ps -a -> check all containers Go into the main folder of this project -Execute - docker-compose up -d --build (This calls the docker-compose.yaml file and starts the containers. -The build option is for the Dockerfile - it enables the mysqli extension for the database); +docker-compose down -v (stops the running containers and effectively deletes the database volumes) +docker-compose build --no-cache (builds fresh images) +docker-compose up -d (executes the docker-compose.yaml file) To check if the containers are running - docker ps @@ -17,7 +18,7 @@ Visit -> http://localhost:8000 To stop the containers - docker-compose down For user service database: -mysql -u root -padvancedroot -h127.0.0.1 -P9906 -> root user +mysql -u root -puserRoot -h127.0.0.1 -P9906 -> root user mysql -u service_user -pservice_user -h127.0.0.1 -P9906 -> service_user For recipe service database: diff --git a/docker-compose.yaml b/docker-compose.yaml index a578e8b..12fe030 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -2,14 +2,15 @@ version: '3' services: userdb: + build: ./sql image: mysql:8.0 container_name: user_db volumes: - - dbdata:/var/lib/mysql + - dbdata:/var/lib/mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: - MYSQL_ROOT_PASSWORD: advancedroot + MYSQL_ROOT_PASSWORD: userRoot MYSQL_DATABASE: userdb MYSQL_USER: service_user MYSQL_PASSWORD: service_user @@ -18,7 +19,7 @@ services: expose: - "9906" web: - build: . + build: ./php image: php:7.2.2-apache container_name: php_web depends_on: @@ -30,23 +31,5 @@ services: stdin_open: true tty: true - recipedb: - image: mysql:8.0 - container_name: recipe_db - volumes: - - recipedata:/var/lib/mysql - command: --default-authentication-plugin=mysql_native_password - restart: always - environment: - MYSQL_ROOT_PASSWORD: reciperoot - MYSQL_DATABASE: recipedb - MYSQL_USER: recipe_user - MYSQL_PASSWORD: recipe_user - ports: - - "9907:3306" - expose: - - "9907" - volumes: - dbdata: - recipedata: \ No newline at end of file + dbdata: \ No newline at end of file diff --git a/php/Dockerfile b/php/Dockerfile new file mode 100644 index 0000000..65d0b65 --- /dev/null +++ b/php/Dockerfile @@ -0,0 +1,2 @@ +FROM php:7.2.2-apache +RUN docker-php-ext-install mysqli \ No newline at end of file diff --git a/sql/Dockerfile b/sql/Dockerfile new file mode 100644 index 0000000..46b0628 --- /dev/null +++ b/sql/Dockerfile @@ -0,0 +1,6 @@ +FROM mysql:8.0 + +ENV MYSQL_DATABASE=userdb \ + MYSQL_ROOT_PASSWORD=userRoot + +COPY ./create_user.sql /docker-entrypoint-initdb.d/ \ No newline at end of file diff --git a/sql/create_user.sql b/sql/create_user.sql new file mode 100644 index 0000000..f54f7d3 --- /dev/null +++ b/sql/create_user.sql @@ -0,0 +1,14 @@ +use userdb; +go + +create table user ( + ID int(11) unique not null auto_increment, + username varchar(50) unique not null, + forename varchar(50) not null, + surname varchar(50) not null, + password varchar(60) not null, + email varchar(50) not null, + created_at datetime default current_timestamp, + primary key (ID) +); +go \ No newline at end of file -- GitLab