DockerProviderExtensions
izumi.distage.docker.DockerContainer.DockerProviderExtensions
final implicit class DockerProviderExtensions[F[_], T](self: Functoid[ContainerResource[F, T]]) extends AnyVal
Attributes
- Graph
-
- Supertypes
-
class AnyValtrait Matchableclass Any
Members list
Value members
Concrete methods
def connectToNetwork(networkDecl: ContainerNetworkDef)(implicit tag1: Tag[ContainerNetwork[networkDecl.Tag]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
def connectToNetwork[T2](implicit tag1: Tag[ContainerNetwork[T2]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
def dependOnContainer(containerDecl: ContainerDef)(implicit tag: Tag[DockerContainer[containerDecl.Tag]]): Functoid[ContainerResource[F, T]]
def dependOnContainer[T2](implicit tag: Tag[DockerContainer[T2]]): Functoid[ContainerResource[F, T]]
def dependOnContainerPorts(containerDecl: ContainerDef)(ports: (Int, String)*)(implicit tag1: Tag[DockerContainer[containerDecl.Tag]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
Export as environment variables inside the container the randomized values of ports of the argument running docker container
Export as environment variables inside the container the randomized values of ports of the argument running docker container
Attributes
- Example
-
class KafkaDockerModule[F[_]: TagK] extends ModuleDef { make[KafkaDocker.Container].fromResource { KafkaDocker .make[F] .connectToNetwork(KafkaZookeeperNetwork) .dependOnContainerPorts(ZookeeperDocker)(2181 -> "KAFKA_ZOOKEEPER_CONNECT") } }
def dependOnContainerPorts[T2](ports: (Int, String)*)(implicit tag1: Tag[DockerContainer[T2]], tag2: Tag[ContainerResource[F, T]], tag3: Tag[ContainerConfig[T]]): Functoid[ContainerResource[F, T]]
def modifyConfig(modify: Functoid[ContainerConfig[T] => ContainerConfig[T]])(implicit tag: Tag[ContainerResource[F, T]]): Functoid[ContainerResource[F, T]]
Allows you to modify Docker.ContainerConfig while summoning additional dependencies from the object graph using izumi.distage.model.providers.Functoid.
Allows you to modify Docker.ContainerConfig while summoning additional dependencies from the object graph using izumi.distage.model.providers.Functoid.
Example:
KafkaDocker
.make[F]
.modifyConfig {
(zookeeperDocker: ZookeeperDocker.Container, net: KafkaZookeeperNetwork.Network) =>
(old: KafkaDocker.Config) =>
val zkEnv = KafkaDocker.config.env ++ Map("KAFKA_ZOOKEEPER_CONNECT" -> s"${zookeeperDocker.hostName}:2181")
val zkNet = KafkaDocker.config.networks + net
old.copy(env = zkEnv, networks = zkNet)
}
Attributes
def modifyConfig(modify: ContainerConfig[T] => ContainerConfig[T]): Functoid[ContainerResource[F, T]]
In this article