TestcontainerEx (testcontainer_ex v0.5.0)

Copy Markdown View Source

Public API for TestcontainerEx.

This module is a thin facade that delegates to the GenServer (TestcontainerEx.Server) and domain modules.

Summary

Functions

Executes a command inside a running container.

Returns the latest Docker inspect result for a container ID.

Monitors a container until a predicate returns {:ok, value} or the timeout elapses.

Parses the default gateway IP from /proc/net/route content.

Stops a container and waits until Docker no longer reports it running.

Functions

colima_status()

See TestcontainerEx.Docker.Status.colima_status/0.

connected?(name \\ __MODULE__)

container_attach(container_id)

See TestcontainerEx.Docker.Control.attach/1.

container_attach(container_id, opts)

See TestcontainerEx.Docker.Control.attach/2.

container_attach(container_id, opts, base_url)

See TestcontainerEx.Docker.Control.attach/3.

container_commit(container_id, repo_tag)

See TestcontainerEx.Docker.Control.commit/2.

container_commit(container_id, repo_tag, opts)

See TestcontainerEx.Docker.Control.commit/3.

container_commit(container_id, repo_tag, opts, base_url)

See TestcontainerEx.Docker.Control.commit/4.

container_create(config)

See TestcontainerEx.Docker.Control.create/1.

container_create(config, base_url)

See TestcontainerEx.Docker.Control.create/2.

container_create_named(name, config)

See TestcontainerEx.Docker.Control.create_named/2.

container_create_named(name, config, base_url)

See TestcontainerEx.Docker.Control.create_named/3.

container_download(container_id, path)

See TestcontainerEx.Docker.Control.download/2.

container_download(container_id, path, base_url)

See TestcontainerEx.Docker.Control.download/3.

container_download_file(container_id, path)

See TestcontainerEx.Docker.Control.download_file/2.

container_download_file(container_id, path, base_url)

See TestcontainerEx.Docker.Control.download_file/3.

container_engine()

container_export(container_id)

See TestcontainerEx.Docker.Control.export/1.

container_export(container_id, base_url)

See TestcontainerEx.Docker.Control.export/2.

container_inspect(container_id)

See TestcontainerEx.Docker.Control.inspect_container/1.

container_inspect(container_id, base_url)

See TestcontainerEx.Docker.Control.inspect_container/2.

container_kill(container_id)

See TestcontainerEx.Docker.Control.kill/1.

container_kill(container_id, signal)

See TestcontainerEx.Docker.Control.kill/2.

container_kill(container_id, signal, base_url)

See TestcontainerEx.Docker.Control.kill/3.

container_logs(container_id, options \\ [], name \\ __MODULE__)

Returns container logs.

Options include :stdout, :stderr, :timestamps, :tail, :since, :until_time, and :follow.

container_logs_raw(container_id)

See TestcontainerEx.Docker.Control.logs/1.

container_logs_raw(container_id, opts)

See TestcontainerEx.Docker.Control.logs/2.

container_logs_raw(container_id, opts, base_url)

See TestcontainerEx.Docker.Control.logs/3.

container_pause(container_id)

See TestcontainerEx.Docker.Control.pause/1.

container_pause(container_id, base_url)

See TestcontainerEx.Docker.Control.pause/2.

container_remove(container_id)

See TestcontainerEx.Docker.Control.remove/1.

container_remove(container_id, opts)

See TestcontainerEx.Docker.Control.remove/2.

container_remove(container_id, opts, base_url)

See TestcontainerEx.Docker.Control.remove/3.

container_rename(container_id, new_name)

See TestcontainerEx.Docker.Control.rename/2.

container_rename(container_id, new_name, base_url)

See TestcontainerEx.Docker.Control.rename/3.

container_resize(container_id, width, height)

See TestcontainerEx.Docker.Control.resize/3.

container_resize(container_id, width, height, base_url)

See TestcontainerEx.Docker.Control.resize/4.

container_restart(container_id)

See TestcontainerEx.Docker.Control.restart/1.

container_restart(container_id, timeout)

See TestcontainerEx.Docker.Control.restart/2.

container_restart(container_id, timeout, base_url)

See TestcontainerEx.Docker.Control.restart/3.

container_running?(container_id)

See TestcontainerEx.Docker.Control.running?/1.

container_running?(container_id, base_url)

See TestcontainerEx.Docker.Control.running?/2.

container_start(container_id)

See TestcontainerEx.Docker.Control.start/1.

container_start(container_id, base_url)

See TestcontainerEx.Docker.Control.start/2.

container_state(container_id)

See TestcontainerEx.Docker.Control.state/1.

container_state(container_id, base_url)

See TestcontainerEx.Docker.Control.state/2.

container_stats(container_id)

See TestcontainerEx.Docker.Control.stats/1.

container_stats(container_id, opts)

See TestcontainerEx.Docker.Control.stats/2.

container_stats(container_id, opts, base_url)

See TestcontainerEx.Docker.Control.stats/3.

container_stop(container_id)

See TestcontainerEx.Docker.Control.stop/1.

container_stop(container_id, timeout)

See TestcontainerEx.Docker.Control.stop/2.

container_stop(container_id, timeout, base_url)

See TestcontainerEx.Docker.Control.stop/3.

container_top(container_id)

See TestcontainerEx.Docker.Control.top/1.

container_top(container_id, ps_args)

See TestcontainerEx.Docker.Control.top/2.

container_top(container_id, ps_args, base_url)

See TestcontainerEx.Docker.Control.top/3.

container_unpause(container_id)

See TestcontainerEx.Docker.Control.unpause/1.

container_unpause(container_id, base_url)

See TestcontainerEx.Docker.Control.unpause/2.

container_update(container_id, opts)

See TestcontainerEx.Docker.Control.update/2.

container_update(container_id, opts, base_url)

See TestcontainerEx.Docker.Control.update/3.

container_upload(container_id, path, source)

See TestcontainerEx.Docker.Control.upload/3.

container_upload(container_id, path, source, base_url)

See TestcontainerEx.Docker.Control.upload/4.

container_wait(container_id)

See TestcontainerEx.Docker.Control.wait/1.

container_wait(container_id, base_url)

See TestcontainerEx.Docker.Control.wait/2.

create_container(config_builder, name \\ __MODULE__)

Convenience alias for start_container/2.

create_containers(config_builders, name \\ __MODULE__)

Convenience alias for start_containers/2.

create_network(network_name, name \\ __MODULE__)

custom_container(image)

See TestcontainerEx.CustomContainer.new/1.

custom_container_endpoint(container, port)

See TestcontainerEx.CustomContainer.endpoint/2.

custom_container_endpoint_url(container, port, scheme)

See TestcontainerEx.CustomContainer.endpoint_url/3.

custom_container_from_config(config)

See TestcontainerEx.CustomContainer.from_config/1.

custom_container_runtime_info(container)

See TestcontainerEx.CustomContainer.runtime_info/1.

debug_inspect(container)

See TestcontainerEx.Debug.inspect_container/1.

debug_list_containers()

See TestcontainerEx.Debug.list_containers/0.

debug_list_networks()

See TestcontainerEx.Debug.list_networks/0.

debug_status()

See TestcontainerEx.Debug.status/0.

debug_summarize(container)

See TestcontainerEx.Debug.summarize/1.

disk_usage()

See TestcontainerEx.Docker.Status.disk_usage/0.

disk_usage(base_url)

See TestcontainerEx.Docker.Status.disk_usage/1.

engine_events()

See TestcontainerEx.Docker.Status.events/0.

engine_events(opts)

See TestcontainerEx.Docker.Status.events/1.

engine_events(opts, base_url)

See TestcontainerEx.Docker.Status.events/2.

engine_info()

See TestcontainerEx.Docker.Status.engine_info/0.

engine_info(base_url)

See TestcontainerEx.Docker.Status.engine_info/1.

engine_ping()

See TestcontainerEx.Docker.Status.ping/0.

engine_ping(base_url)

See TestcontainerEx.Docker.Status.ping/1.

engine_reachable?()

See TestcontainerEx.Docker.Status.reachable?/0.

engine_status()

See TestcontainerEx.Docker.Status.status/0.

engine_status(engine)

See TestcontainerEx.Docker.Status.status/1.

engine_version()

See TestcontainerEx.Docker.Status.engine_version/0.

engine_version(base_url)

See TestcontainerEx.Docker.Status.engine_version/1.

exec(container_id, command, name \\ __MODULE__)

Executes a command inside a running container.

exec_create(container_id, command)

See TestcontainerEx.Docker.Control.create_exec/2.

exec_create(container_id, command, opts)

See TestcontainerEx.Docker.Control.create_exec/3.

exec_create(container_id, command, opts, base_url)

See TestcontainerEx.Docker.Control.create_exec/4.

exec_inspect(exec_id)

See TestcontainerEx.Docker.Control.inspect_exec/1.

exec_inspect(exec_id, base_url)

See TestcontainerEx.Docker.Control.inspect_exec/2.

exec_resize(exec_id, width, height)

See TestcontainerEx.Docker.Control.resize_exec/3.

exec_resize(exec_id, width, height, base_url)

See TestcontainerEx.Docker.Control.resize_exec/4.

exec_start(exec_id)

See TestcontainerEx.Docker.Control.start_exec/1.

exec_start(exec_id, opts)

See TestcontainerEx.Docker.Control.start_exec/2.

exec_start(exec_id, opts, base_url)

See TestcontainerEx.Docker.Control.start_exec/3.

get_host()

get_host(container)

get_host(container, name)

get_port(container, port)

get_port(container, port, name)

inspect_container(container_id, name \\ __MODULE__)

Returns the latest Docker inspect result for a container ID.

list_containers()

See TestcontainerEx.Docker.Status.list_containers/0.

list_containers(opts)

See TestcontainerEx.Docker.Status.list_containers/1.

list_containers(opts, base_url)

See TestcontainerEx.Docker.Status.list_containers/2.

list_images()

See TestcontainerEx.Docker.Status.list_images/0.

list_images(opts)

See TestcontainerEx.Docker.Status.list_images/1.

list_images(opts, base_url)

See TestcontainerEx.Docker.Status.list_images/2.

list_networks()

See TestcontainerEx.Docker.Status.list_networks/0.

list_networks(base_url)

See TestcontainerEx.Docker.Status.list_networks/1.

list_volumes()

See TestcontainerEx.Docker.Status.list_volumes/0.

list_volumes(base_url)

See TestcontainerEx.Docker.Status.list_volumes/1.

minikube_status()

See TestcontainerEx.Docker.Status.minikube_status/0.

monitor_container(container_id, predicate, options \\ [], name \\ __MODULE__)

Monitors a container until a predicate returns {:ok, value} or the timeout elapses.

The predicate receives the latest inspected container and must return {:ok, value} to succeed or {:error, reason} to retry.

parse_gateway_from_proc_route(content)

Parses the default gateway IP from /proc/net/route content.

Returns {:ok, ip_string} or {:error, :no_default_route}.

remove_network(network_name, name \\ __MODULE__)

run_container(config_builder, name \\ __MODULE__)

Convenience alias for start_container/2.

run_containers(config_builders, name \\ __MODULE__)

Convenience alias for start_containers/2.

running_in_container?()

running_in_container?(dockerenv_path, cgroup_path, k8s_secrets_path \\ "/var/run/secrets/kubernetes.io", containerenv_path \\ "/.containerenv")

Returns true when running inside a container (Docker, Podman, Kubernetes).

Accepts optional overrides for the .dockerenv path, cgroup path, Kubernetes secrets path, and Podman containerenv path (useful for testing on non-Linux hosts).

ryuk_privileged?(properties)

See TestcontainerEx.Ryuk.privileged?/1.

start(options \\ [])

start_compose(config, name \\ __MODULE__)

start_container(config_builder, name \\ __MODULE__)

start_containers(config_builders, name \\ __MODULE__)

Starts multiple containers.

Accepts a list of config builders and returns {:ok, containers} only when all containers start successfully. On failure, returns {:error, results} where results contains per-container {:ok, container} or {:error, reason} entries in the same order as the input.

start_link(options \\ [])

stop(name \\ __MODULE__)

stop_compose(compose_env, name \\ __MODULE__)

stop_container(container_id, name \\ __MODULE__)

Stops a container and waits until Docker no longer reports it running.

stop_containers(container_ids, name \\ __MODULE__)

Stops multiple containers.

Returns {:ok, results} with one result per container ID. Nonexistent containers are treated as already stopped by the Docker API.