Repository of Docker Images for testing database packages, including dm.
Testing an R package that connects to a database can be a challenge. The package must be tested against different databases, different versions of the same database, and different operating systems. This can be a time-consuming process, especially if you don't have access to a database server.
This repository offers a solution based on Docker Compose. Docker images are defined for each component and for each database. A hierarchy of Docker Compose files helps combine the components and databases to run tests without altering the development environment.
Microsoft SQL Server
: developed by Microsoft.MySQL
: developed by Oracle, open-source.MariaDB
: developed by MariaDB Corporation Ab, open-source.Oracle Database Free
: developed by Oracle.Oracle Database Express Edition
: developed by Oracle.PostgreSQL
: developed by PostgreSQL Global Development Group, open-source.SQLite
: developed by D. Richard Hipp, open-source, file-based, and designed to be embedded into applications.DuckDB
: developed by the CWI Database Architectures group, open-source.ADBC
is a developing open-source standard designed to facilitate database interactions using the Apache Arrow framework.
Launch Containers
docker-compose run rdb_mssql
Stop Containers
docker-compose down mssql #--volumes
Launch Containers
docker-compose run rdb_mysql
Stop Containers
docker-compose down mysql #--volumes
Launch Containers
docker-compose run rdb_maria
Stop Containers
docker-compose down maria #--volumes
Launch Containers
docker-compose run rdb_postgres
Stop Containers
docker-compose down postgres #--volumes
Start Containers
Oracle Database Free
docker-compose run rdb_oracle
Oracle Database Express Edition
docker-compose run rdb_oracle-xe
Stop Containers
docker-compose down oracle #--volumes
docker-compose down oracle-xe #--volumes
Start Containers
docker-compose run rdb_sqlite
No containers to stop.
Start Containers
docker-compose run rdb_duckdb
Start Containers
docker-compose run rdb_adbi
No containers to stop.
The main docker-compose.yml
merely includes files in docker-compose/
. For new services, create a new file.
docker-compose pull
Example: pull images necessary to run tests against Oracle.
docker-compose pull oracle rdb_oracle