Build and start your own Docker image:
const { GenericContainer } = require("testcontainers");
const container = await GenericContainer
.fromDockerfile("/path/to/build-context")
.build();
const startedContainer = await container.start();Testcontainers will automatically pull an image if it doesn't exist. This is configurable:
const { GenericContainer, PullPolicy } = require("testcontainers");
const container = await GenericContainer
.fromDockerfile("/path/to/build-context")
.withPullPolicy(PullPolicy.alwaysPull())
.build();const { GenericContainer, ImagePullPolicy } = require("testcontainers");
class CustomPullPolicy implements ImagePullPolicy {
public shouldPull(): boolean {
return true;
}
}
const container = await GenericContainer
.fromDockerfile("/path/to/build-context")
.withPullPolicy(new CustomPullPolicy())
.build();const container = await GenericContainer
.fromDockerfile("/path/to/build-context")
.withBuildArgs({ ARG: "VALUE" })
.build();const container = await GenericContainer
.fromDockerfile("/path/to/build-context", "my-dockerfile")
.build();const container = await GenericContainer
.fromDockerfile("/path/to/build-context")
.withCache(false)
.build();