MariaKontainer

class MariaKontainer(kontainerSpec: KontainerSpec, delegate: PlatformKontainer) : GenericTcpKontainer, JdbcKontainer

Provides a Kontainer for MySQL.

Author

Scott Rossillo

Samples

import io.microkt.kontainers.domain.MB
import io.microkt.kontainers.dsl.kontainerSpec
import io.microkt.kontainers.mariadb.MariaKontainer.Env.MARIADB_DATABASE
import io.microkt.kontainers.mariadb.MariaKontainer.Env.MARIADB_PASSWORD
import io.microkt.kontainers.mariadb.MariaKontainer.Env.MARIADB_ROOT_PASSWORD
import io.microkt.kontainers.mariadb.MariaKontainer.Env.MARIADB_USER
fun main() { 
   //sampleStart 
   /**
 * Default MariaDB [KontainerSpec][io.microkt.kontainers.domain.KontainerSpec].
 *
 * @author Scott Rossillo
 * @sample io.microkt.kontainers.mariadb.mariaKontainerSpec
 */
val mariaKontainerSpec = kontainerSpec {
    name = "mariadb"
    image = "mariadb:10.7"
    environment {
        set(MARIADB_DATABASE to "test")
        set(MARIADB_ROOT_PASSWORD to "test")
        set(MARIADB_USER to "test")
        set(MARIADB_PASSWORD to "test")
    }
    ports {
        expose tcp 3306
    }
    resources {
        limit memory 128.MB
    }
} 
   //sampleEnd
}

Constructors

Link copied to clipboard
fun MariaKontainer(kontainerSpec: KontainerSpec, delegate: PlatformKontainer)

Creates a new MariaKontainer with the given kontainerSpec and delegate PlatformKontainer.

Types

Link copied to clipboard
object Env

MySQL Kontainer environment variables.

Functions

Link copied to clipboard
open override fun createJdbcUrl(): String
Link copied to clipboard
abstract fun getAddress(): String?
Link copied to clipboard
open override fun getDatabaseName(): String
Link copied to clipboard
abstract fun getDirectAddress(): String?
Link copied to clipboard
open override fun getPassword(): String
Link copied to clipboard
abstract fun getPort(): Int?
abstract fun getPort(containerPort: Int): Int?
Link copied to clipboard
open override fun getUsername(): String
Link copied to clipboard
abstract suspend fun remove()
Link copied to clipboard
open fun removeSync()
Link copied to clipboard
abstract suspend fun start(timeout: Long)
Link copied to clipboard
open fun startSync(timeout: Long)
Link copied to clipboard
open override fun waitForReady(timeout: Long)

Waits for the TCP socket to be ready and delays an extra 10 seconds for MySQL to configure and restart itself.

Properties

Link copied to clipboard
open override val driverClassName: String

MariaDB JDBC driver org.mariadb.jdbc.Driver

Link copied to clipboard
abstract val id: String
Link copied to clipboard
open override val kontainerSpec: KontainerSpec