多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

454 lines
14 KiB

version: "2.1"
services:
# db55:
# image: mysql:5.5
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: password
# ports:
# - 3355:3306
# volumes:
# - ./mysql-sakila-db:/docker-entrypoint-initdb.d
# db56:
# image: mysql:5.6
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: password
# ports:
# - 3356:3306
# volumes:
# - ./mysql-sakila-db:/docker-entrypoint-initdb.d
# db57:
# image: mysql:5.7
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: password
# ports:
# - 3357:3306
# volumes:
# - ./tests/mysql-sakila-db:/docker-entrypoint-initdb.d
# healthcheck:
# test: "/etc/init.d/mysql status"
# interval: 1s
# retries: 240
db8032:
image: mysql:8.0.32
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
ports:
- 3380:3306
volumes:
- ./tests/mysql-sakila-db:/docker-entrypoint-initdb.d
healthcheck:
test: "/etc/init.d/mysql status"
interval: 1s
retries: 240
# maria102:
# image: mariadb:10.2
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: password
# ports:
# - 3412:3306
# volumes:
# - ./mysql-sakila-db:/docker-entrypoint-initdb.d
# maria103:
# image: mariadb:10.3
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: password
# ports:
# - 3413:3306
# volumes:
# - ./mysql-sakila-db:/docker-entrypoint-initdb.d
# maria104:
# image: mariadb:10.4
# restart: always
# environment:
# MYSQL_ROOT_PASSWORD: password
# ports:
# - 3414:3306
# volumes:
# - ./mysql-sakila-db:/docker-entrypoint-initdb.d
# healthcheck:
# test: '/usr/bin/mysql --user=root --password=password --database=sakila --execute "SELECT count(*) FROM payment;"'
# interval: 10s
# timeout: 3s
# retries: 10
# ERROR 1832 (HY000) at line 23: Cannot change column 'manager_staff_id': used in a foreign key constraint 'fk_store_staff'
# pg9.4:
# image: postgres:9.4
# restart: always
# environment:
# POSTGRES_PASSWORD: password
# ports:
# - 5494:5432
# volumes:
# - ./pg-sakila-db:/docker-entrypoint-initdb.d
# pg9.5:
# image: postgres:9.5
# restart: always
# environment:
# POSTGRES_PASSWORD: password
# ports:
# - 5495:5432
# volumes:
# - ./pg-sakila-db:/docker-entrypoint-initdb.d
pg96:
image: postgres:9.6
restart: always
environment:
POSTGRES_PASSWORD: password
ports:
- 5496:5432
volumes:
- ./tests/pg-sakila-db:/docker-entrypoint-initdb.d
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
# pg10:
# image: postgres:10
# restart: always
# environment:
# POSTGRES_PASSWORD: password
# ports:
# - 5410:5432
# volumes:
# - ./pg-sakila-db:/docker-entrypoint-initdb.d
# pg11:
# image: postgres:11
# restart: always
# environment:
# POSTGRES_PASSWORD: password
# ports:
# - 5411:5432
# volumes:
# - ./pg-sakila-db:/docker-entrypoint-initdb.d
# INFO: not working sqlite
# sqlite3:
# image: nouchka/sqlite3:latest
# restart: always
# command: sqlite3 /root/db/01-sqlite-sakila-schema.sql
# # environment:
# # MYSQL_ROOT_PASSWORD: password
# stdin_open: true
# tty: true
# # ports:
# # - 3414:3306
# volumes:
# - ./sqlite-sakila-db:/root/db/
# # - ./sqlite-sakila-db:/root/db/
mssql:
image: mcr.microsoft.com/mssql/server:2019-CU11-ubuntu-20.04
# restart: always
environment:
ACCEPT_EULA: Y
SA_PASSWORD: Password123.
ports:
- 1433:1433
volumes:
- ./tests/sql-server-sakila-db:/scripts/
command:
- /bin/bash
- -c
- |
echo "Starting to import - - - - - - - -"
# Launch MSSQL and send to background
/opt/mssql/bin/sqlservr &
# Wait 30 seconds for it to be available
# (lame, I know, but there's no nc available to start prodding network ports)
sleep 30
/opt/mssql-tools/bin/sqlcmd -U sa -P $$SA_PASSWORD -l 30 -i /scripts/01-sql-server-sakila-schema.sql
/opt/mssql-tools/bin/sqlcmd -U sa -P $$SA_PASSWORD -l 30 -i /scripts/02-sql-server-sakila-insert-data.sql
# So that the container doesn't shut down, sleep this thread
echo "DONE inserting - - - - - - - -"
python -m SimpleHTTPServer 80
sleep infinity
# healthcheck:
# test: curl -sS http://localhost || exit 1
# interval: 15s
# retries: 200
# oracle18:
# image: quillbuilduser/oracle-18-xe
# restart: always
# environment:
# - IMPORT_FROM_VOLUME=true
# ports:
# - 1521:1521
# - 8080:8080
# volumes:
# - ./oracle-sakila-db:/docker-entrypoint-initdb.d
# oracle12c:
# image: andersjanmyr/oracle-12c-extended
# restart: always
# environment:
# - IMPORT_FROM_VOLUME=true
# ports:
# - 1521:1521
# - 8080:8080
# volumes:
# - ./oracle-sakila-db:/docker-entrypoint-initdb.d
# oracle11g:
# image: oracleinanutshell/oracle-xe-11g
# restart: always
# environment:
# - ORACLE_DISABLE_ASYNCH_IO=true
# - ORACLE_ALLOW_REMOTE=true
# ports:
# - 1521:1521
# volumes:
# - ./oracle-sakila-db:/docker-entrypoint-initdb.d
# knexPG:
# image: node
# depends_on:
# - pg10
# volumes:
# - ./:/home/app
# environment:
# DOCKER_DB_HOST: pg10
# DOCKER_DB_PORT: 5432
# DOCKERIZE_VERSION: v0.6.1
# command:
# - /bin/bash
# - -c
# - |
# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# chmod +x /home/app/dockerize.sh && /home/app/dockerize.sh && cd /home/app/ && npm i && npm test
# knexOracle11g:
# image: node
# depends_on:
# - oracle11g
# volumes:
# - ./:/home/app
# - ./instantclient_18_5:/opt/oracle/instantclient_18_5
# environment:
# DOCKER_DB_HOST: oracle11g
# DOCKER_DB_PORT: 1521
# DOCKERIZE_VERSION: v0.6.1
# command:
# - /bin/bash
# - -c
# - |
# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# apt update -y
# apt install libaio1 libaio-dev -y
# echo /opt/oracle/instantclient_18_5 > /etc/ld.so.conf.d/oracle-instantclient.conf
# ldconfig
# mkdir -p /opt/oracle/instantclient_18_5/network/admin
# chmod +x /home/app/dockerize-oracle.sh && /home/app/dockerize-oracle.sh && cd /home/app/ && npm i && npm test
# knexOracle12c:
# image: node
# depends_on:
# - oracle12c
# volumes:
# - ./:/home/app
# - ./instantclient_18_5:/opt/oracle/instantclient_18_5
# environment:
# DOCKER_DB_HOST: oracle12c
# DOCKER_DB_PORT: 1521
# DOCKERIZE_VERSION: v0.6.1
# command:
# - /bin/bash
# - -c
# - |
# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# apt update -y
# apt install libaio1 libaio-dev -y
# echo /opt/oracle/instantclient_18_5 > /etc/ld.so.conf.d/oracle-instantclient.conf
# ldconfig
# mkdir -p /opt/oracle/instantclient_18_5/network/admin
# chmod +x /home/app/dockerize-oracle.sh && /home/app/dockerize-oracle.sh && cd /home/app/ && npm i && npm test
# knexOracle18:
# image: node
# depends_on:
# - oracle18
# volumes:
# - ./:/home/app
# - ./instantclient_18_5:/opt/oracle/instantclient_18_5
# environment:
# DOCKER_DB_HOST: oracle18
# DOCKER_DB_PORT: 1521
# DOCKERIZE_VERSION: v0.6.1
# command:
# - /bin/bash
# - -c
# - |
# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# apt update -y
# apt install libaio1 libaio-dev -y
# echo /opt/oracle/instantclient_18_5 > /etc/ld.so.conf.d/oracle-instantclient.conf
# ldconfig
# mkdir -p /opt/oracle/instantclient_18_5/network/admin
# chmod +x /home/app/dockerize-oracle.sh && /home/app/dockerize-oracle.sh && cd /home/app/ && npm i && npm test
# knexMSSQL:
# image: node
# depends_on:
# - mssql
# volumes:
# - ./:/home/app
# environment:
# DOCKER_DB_HOST: mssql
# DOCKER_DB_PORT: 1433
# DOCKERIZE_VERSION: v0.6.1
# command:
# - /bin/bash
# - -c
# - |
# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# chmod +x /home/app/dockerize-mssql.sh && /home/app/dockerize-mssql.sh && cd /home/app/ && npm i && npm test
# knexMySQL:
# image: node
# depends_on:
# - db57
# volumes:
# - ./:/home/app
# environment:
# DOCKER_DB_HOST: db57
# DOCKER_DB_PORT: 3306
# DOCKERIZE_VERSION: v0.6.1
# command:
# - /bin/bash
# - -c
# - |
# echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# chmod +x /home/app/dockerize.sh && /home/app/dockerize.sh && cd /home/app/ && npm i && npm test
xc-test-mysql:
image: node:12.22.1-slim
depends_on:
db57:
condition: service_healthy
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: mysql://root:password@db57:3306/sakila
command:
- /bin/bash
- -c
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd /home/app/ && npm i && npm run test:rest
xc-test-pg:
image: node:12.22.1-slim
depends_on:
pg96:
condition: service_healthy
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: postgres://postgres:password@pg96:5432/postgres
command:
- /bin/bash
- -c
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd /home/app/ && npm i && npm run test:rest
xc-test-mssql:
image: node:12.22.1-slim
depends_on:
- mssql
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: mssql://sa:Password123.@mssql:1433/sakila
DOCKER_DB_HOST: mssql
DOCKERIZE_VERSION: v0.6.1
command:
- /bin/bash
- -c
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"#
chmod +x /home/app/tests/dockerize-mssql.sh && /home/app/tests/dockerize-mssql.sh && cd /home/app/ && npm i && npm run test:rest
xc-test-sqlite:
image: node:12.22.1-slim
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: sqlite:////home/sakila.db
command:
- /bin/bash
- -c
- |
cp /home/app/tests/sqlite-dump/sakila.db /home/sakila.db
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"#
cd /home/app/ && npm i && npm run test:rest
xc-test-gql-mysql:
image: node:12.22.1-slim
depends_on:
db57:
condition: service_healthy
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: mysql://root:password@db57:3306/sakila
command:
- /bin/bash
- -c
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd /home/app/ && npm i && npm run test:graphql
xc-test-gql-pg:
image: node:12.22.1-slim
depends_on:
pg96:
condition: service_healthy
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: postgres://postgres:password@pg96:5432/postgres
command:
- /bin/bash
- -c
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
cd /home/app/ && npm i && npm run test:graphql
xc-test-gql-mssql:
image: node:12.22.1-slim
depends_on:
- mssql
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: mssql://sa:Password123.@mssql:1433/sakila
DOCKER_DB_HOST: mssql
DOCKERIZE_VERSION: v0.6.1
command:
- /bin/bash
- -c
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"#
chmod +x /home/app/tests/dockerize-mssql.sh && /home/app/tests/dockerize-mssql.sh && cd /home/app/ && npm i && npm run test:graphql
xc-test-gql-sqlite:
image: node:12.22.1-slim
volumes:
- ./:/home/app
environment:
NODE_ENV: test
DATABASE_URL: sqlite:////home/sakila.db
command:
- /bin/bash
- -c
- |
cp /home/app/tests/sqlite-dump/sakila.db /home/sakila.db
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"#
cd /home/app/ && npm i && npm run test:graphql