Using Liquibase and Docker

Docker is an open platform for developing, shipping, and running applications. Docker provides the ability to package and run an application in a loosely isolated environment called a container. You can also create and use images, networks, volumes, plugins, and other objects. For more information, see Docker's overview.

If you use a virtual machine, it requires a separate copy of the operating system, which needs space. Docker leverages the host system for the operating system to cut down on space. Additionally, Docker helps to start your application more quickly.

Liquibase Docker container image

Tip: Our Liquibase Docker Official Image is available with Liquibase 4.27.0 and newer. We recommend all users use this image for the latest updates and support. Any versions prior to 4.27.0 are only available on the liquibase/liquibase community image. This community image will be deprecated in the future. Transitioning to the official image ensures you will continue receiving updates and support.

Liquibase Docker container image includes the Liquibase software, Java, JDBC drivers, and all other dependencies already preconfigured. The image is based on the Eclipse Temurin image eclipse-temurin:17-jre-focal.

Also, there are libraries represented by database driver and client packages that are preinstalled into the container image:

  • DB2

  • Firebird

  • MariaDB

  • MS SQL Server

  • PostgreSQL

  • Snowflake

  • SQLite

  • Sybase

Note: The database drivers for MongoDB Pro and MySQL are not preinstalled in the container image and require additional steps to install. See MongoDB Pro driver and MySQL driver.

For more details, see the Liquibase Dockerfile.

Example JDBC URLs

Database

JDBC URL

IBM DB2 LUW

jdbc:db2://<IP OR HOSTNAME>:50000/<DATABASE>

Microsoft SQL Server

jdbc:sqlserver://<IP OR HOSTNAME>:1433;database=<DATABASE>

MySQL

jdbc:mysql://<IP OR HOSTNAME>:3306/<DATABASE>

MariaDB

jdbc:mariadb://<IP OR HOSTNAME>:3306/<DATABASE>

PostgreSQL

jdbc:postgresql://<IP OR HOSTNAME>:5432/<DATABASE>?currentSchema=<SCHEMA NAME>

Snowflake

jdbc:snowflake://<IP OR HOSTNAME>/?db=<DATABASE>&schema=<SCHEMA NAME>

Sybase

jdbc:jtds:sybase://<IP OR HOSTNAME>:/<DATABASE>

SQLite

jdbc:sqlite:/tmp/<DB FILE NAME>.db