Skip to content

DB2 Module

Note

This module is INCUBATING. While it is ready for use and operational in the current version of Testcontainers, it is possible that it may receive breaking changes in the future. See our contributing guidelines for more information on our incubating modules policy.

See Database containers for documentation and usage that is common to all relational database container types.

Usage example

Running DB2 as a stand-in for in a test:

public class SomeTest {

    @ClassRule
    public Db2Container db2 = new Db2Container()
        .acceptLicense();

    @Test
    public void someTestMethod() {
        String url = db2.getJdbcUrl();

        ... create a connection and run test as normal
    }

EULA Acceptance

Due to licencing restrictions you are required to accept an EULA for this container image. To indicate that you accept the DB2 image EULA, call the acceptLicense() method, or place a file at the root of the classpath named container-license-acceptance.txt, e.g. at src/test/resources/container-license-acceptance.txt. This file should contain the line: ibmcom/db2:11.5.0.0a (or, if you are overriding the docker image name/tag, update accordingly).

Please see the ibmcom/db2 image documentation for a link to the EULA document.

Adding this module to your project dependencies

Add the following dependency to your pom.xml/build.gradle file:

testImplementation "org.testcontainers:db2:1.19.0"
<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>db2</artifactId>
    <version>1.19.0</version>
    <scope>test</scope>
</dependency>

Hint

Adding this Testcontainers library JAR will not automatically add a database driver JAR to your project. You should ensure that your project also has a suitable database driver as a dependency.