[][src]Struct tc_core::Container

pub struct Container<'d, D, I> where
    D: 'd,
    D: Docker,
    I: Image
{ /* fields omitted */ }
Deprecated since 0.3.1:

Testcontainers is no longer using microcrates, please upgrade to testcontainers version 0.8

Represents a running docker container.

Containers have a custom destructor that removes them as soon as they go out of scope:

#[test]
fn a_test() {
    let docker = Cli::default();

    {
        let container = docker.run(MyImage::default());

        // Docker container is stopped/removed at the end of this scope.
    }
}

Methods

impl<'d, D, I> Container<'d, D, I> where
    D: Docker,
    I: Image
[src]

pub fn new(id: String, docker_client: &'d D, image: I) -> Self[src]

Deprecated since 0.3.1:

Testcontainers is no longer using microcrates, please upgrade to testcontainers version 0.8

Constructs a new container given an id, a docker client and the image.

This function will block the current thread (if wait_until_ready is implemented correctly) until the container is actually ready to be used.

pub fn id(&self) -> &str[src]

Deprecated since 0.3.1:

Testcontainers is no longer using microcrates, please upgrade to testcontainers version 0.8

Returns the id of this container.

pub fn logs(&self) -> Logs[src]

Deprecated since 0.3.1:

Testcontainers is no longer using microcrates, please upgrade to testcontainers version 0.8

Gives access to the log streams of this container.

pub fn get_host_port(&self, internal_port: u32) -> Option<u32>[src]

Deprecated since 0.3.1:

Testcontainers is no longer using microcrates, please upgrade to testcontainers version 0.8

Returns the mapped host port for an internal port of this docker container.

This method does not magically expose the given port, it simply performs a mapping on the already exposed ports. If a docker image does not expose a port, this method will not be able to resolve it.

pub fn image(&self) -> &I[src]

Deprecated since 0.3.1:

Testcontainers is no longer using microcrates, please upgrade to testcontainers version 0.8

Returns a reference to the Image of this container.

Access to this is useful if the arguments of the Image change how to connect to the Access to this is useful to retrieve Image specific information such as authentication details or other relevant information which have been passed as arguments

Trait Implementations

impl<'d, D, I> Drop for Container<'d, D, I> where
    D: Docker,
    I: Image
[src]

The destructor implementation for a Container.

As soon as the container goes out of scope, the destructor will either only stop or delete the docker container. This behaviour can be controlled through the KEEP_CONTAINERS environment variable. Setting it to true will only stop containers instead of removing them. Any other or no value will remove the container.

impl<'d, D: Debug, I: Debug> Debug for Container<'d, D, I> where
    D: 'd,
    D: Docker,
    I: Image
[src]

Auto Trait Implementations

impl<'d, D, I> Send for Container<'d, D, I> where
    D: Sync,
    I: Send

impl<'d, D, I> Unpin for Container<'d, D, I> where
    I: Unpin

impl<'d, D, I> Sync for Container<'d, D, I> where
    D: Sync,
    I: Sync

impl<'d, D, I> UnwindSafe for Container<'d, D, I> where
    D: RefUnwindSafe,
    I: UnwindSafe

impl<'d, D, I> RefUnwindSafe for Container<'d, D, I> where
    D: RefUnwindSafe,
    I: RefUnwindSafe

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]