diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d1b4eea670e82965f443414f7e2b46f39ce3ab2e..0000000000000000000000000000000000000000 --- 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 eee18236c4e9081fda2bf54009b44c81c61646e7..f3e4163ebd622507c6aeacefac1693ef06677ed2 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 a578e8b4432ab2c8b4abbf305abff79d520a8e34..12fe0301f498c2471a7987e2ef6807f5c36dfcf7 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 0000000000000000000000000000000000000000..65d0b659a7887502ef21eb62e7e6541a69d1d630 --- /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 0000000000000000000000000000000000000000..46b06282ba0655a59601f4e25c3319cf0186be26 --- /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 0000000000000000000000000000000000000000..f54f7d36a7e4a538a2d8ab68bca34d366efa6dce --- /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