From 5bff85239e5be021d3024e58b56bb4461367c225 Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Fri, 10 Dec 2021 17:10:44 +0800 Subject: [PATCH] Add docker create script for contributors to setup development environment locally --- build-tools/docker-compose.yml | 93 ++++++++++++++++++++++++++++++++++ build-tools/docker-create.sh | 87 +++++++++++++++++++++++++++++++ 2 files changed, 180 insertions(+) create mode 100644 build-tools/docker-compose.yml create mode 100644 build-tools/docker-create.sh diff --git a/build-tools/docker-compose.yml b/build-tools/docker-compose.yml new file mode 100644 index 00000000..71388959 --- /dev/null +++ b/build-tools/docker-compose.yml @@ -0,0 +1,93 @@ +version: "3" + +services: + # + # MariaDB + # + + mariadb_10_6: + image: mariadb:10.6 + ports: + - 3306 + environment: + MYSQL_DB: mysql + MYSQL_USER: sea + MYSQL_PASSWORD: sea + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_ROOT_PASSWORD: root + + mariadb_10_5: + image: mariadb:10.5 + ports: + - 3306 + environment: + MYSQL_DB: mysql + MYSQL_USER: sea + MYSQL_PASSWORD: sea + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_ROOT_PASSWORD: root + + mariadb_10_4: + image: mariadb:10.4 + ports: + - 3306 + environment: + MYSQL_DB: mysql + MYSQL_USER: sea + MYSQL_PASSWORD: sea + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_ROOT_PASSWORD: root + + # + # MySQL + # + + mysql_8_0: + image: mysql:8.0 + ports: + - 3306 + environment: + MYSQL_DB: mysql + MYSQL_USER: sea + MYSQL_PASSWORD: sea + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_ROOT_PASSWORD: root + + mysql_5_7: + image: mysql:5.7 + ports: + - 3306 + environment: + MYSQL_DB: mysql + MYSQL_USER: sea + MYSQL_PASSWORD: sea + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_ROOT_PASSWORD: root + + # + # PostgreSQL + # + + postgres_13: + image: postgres:13 + ports: + - 5432 + environment: + POSTGRES_USER: root + POSTGRES_PASSWORD: root + + postgres_12: + image: postgres:12 + ports: + - 5432 + environment: + POSTGRES_USER: root + POSTGRES_PASSWORD: root + + postgres_11: + image: postgres:11 + ports: + - 5432 + environment: + POSTGRES_USER: root + POSTGRES_PASSWORD: root diff --git a/build-tools/docker-create.sh b/build-tools/docker-create.sh new file mode 100644 index 00000000..cf5aac4e --- /dev/null +++ b/build-tools/docker-create.sh @@ -0,0 +1,87 @@ +# Some Common Docker Commands You Might Need (use with caution) +# +# Delete all containers +# $ docker rm -f $(docker ps -a -q) +# +# Delete all volumns +# $ docker volume rm $(docker volume ls -q) +# +# Delete all images +# $ docker image rm $(docker image ls -q) + +# Setup MariaDB + +docker run \ + --name "mariadb-10.6" \ + --env MYSQL_DB="mysql" \ + --env MYSQL_USER="sea" \ + --env MYSQL_PASSWORD="sea" \ + --env MYSQL_ALLOW_EMPTY_PASSWORD="yes" \ + --env MYSQL_ROOT_PASSWORD="root" \ + -d -p 3306:3306 mariadb:10.6 +docker stop "mariadb-10.6" + +docker run \ + --name "mariadb-10.5" \ + --env MYSQL_DB="mysql" \ + --env MYSQL_USER="sea" \ + --env MYSQL_PASSWORD="sea" \ + --env MYSQL_ALLOW_EMPTY_PASSWORD="yes" \ + --env MYSQL_ROOT_PASSWORD="root" \ + -d -p 3306:3306 mariadb:10.5 +docker stop "mariadb-10.5" + +docker run \ + --name "mariadb-10.4" \ + --env MYSQL_DB="mysql" \ + --env MYSQL_USER="sea" \ + --env MYSQL_PASSWORD="sea" \ + --env MYSQL_ALLOW_EMPTY_PASSWORD="yes" \ + --env MYSQL_ROOT_PASSWORD="root" \ + -d -p 3306:3306 mariadb:10.4 +docker stop "mariadb-10.4" + +# Setup MySQL + +docker run \ + --name "mysql-8.0" \ + --env MYSQL_DB="mysql" \ + --env MYSQL_USER="sea" \ + --env MYSQL_PASSWORD="sea" \ + --env MYSQL_ALLOW_EMPTY_PASSWORD="yes" \ + --env MYSQL_ROOT_PASSWORD="root" \ + -d -p 3306:3306 mysql:8.0 +docker stop "mysql-8.0" + +docker run \ + --name "mysql-5.7" \ + --env MYSQL_DB="mysql" \ + --env MYSQL_USER="sea" \ + --env MYSQL_PASSWORD="sea" \ + --env MYSQL_ALLOW_EMPTY_PASSWORD="yes" \ + --env MYSQL_ROOT_PASSWORD="root" \ + -d -p 3306:3306 mysql:5.7 +docker stop "mysql-5.7" + +# Setup PostgreSQL + +docker run \ + --name "postgres-13" \ + --env POSTGRES_USER="root" \ + --env POSTGRES_PASSWORD="root" \ + -d -p 5432:5432 postgres:13 +docker stop "postgres-13" + +docker run \ + --name "postgres-12" \ + --env POSTGRES_USER="root" \ + --env POSTGRES_PASSWORD="root" \ + -d -p 5432:5432 postgres:12 +docker stop "postgres-12" + +docker run \ + --name "postgres-11" \ + --env POSTGRES_USER="root" \ + --env POSTGRES_PASSWORD="root" \ + -d -p 5432:5432 postgres:11 +docker stop "postgres-11"