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.ADBCis a developing open-source standard designed to facilitate database interactions using the Apache Arrow framework.
Launch Containers
docker-compose run rdb_mssqlStop Containers
docker-compose down mssql #--volumesLaunch Containers
docker-compose run rdb_mysqlStop Containers
docker-compose down mysql #--volumesLaunch Containers
docker-compose run rdb_mariaStop Containers
docker-compose down maria #--volumesLaunch Containers
docker-compose run rdb_postgresStop Containers
docker-compose down postgres #--volumesStart Containers
Oracle Database Free
docker-compose run rdb_oracleOracle Database Express Edition
docker-compose run rdb_oracle-xeStop Containers
docker-compose down oracle #--volumesdocker-compose down oracle-xe #--volumesStart Containers
docker-compose run rdb_sqliteNo containers to stop.
Start Containers
docker-compose run rdb_duckdbStart Containers
docker-compose run rdb_adbiNo containers to stop.
The main docker-compose.yml merely includes files in docker-compose/ . For new services, create a new file.
docker-compose pullExample: pull images necessary to run tests against Oracle.
docker-compose pull oracle rdb_oracle