pub struct DockerExecutor { /* private fields */ }Expand description
Build a docker image with bollard and start it up
Implementations§
Source§impl DockerExecutor
impl DockerExecutor
Sourcepub fn with_context_path(&mut self, path: impl Into<PathBuf>) -> &mut Self
pub fn with_context_path(&mut self, path: impl Into<PathBuf>) -> &mut Self
Set the path to build the context from (default “.”)
Sourcepub fn with_workdir(&mut self, path: impl Into<PathBuf>) -> &mut Self
pub fn with_workdir(&mut self, path: impl Into<PathBuf>) -> &mut Self
Set the default working directory inside the container (default “/app”)
Sourcepub fn retain_on_drop(&mut self, retain: bool) -> &mut Self
pub fn retain_on_drop(&mut self, retain: bool) -> &mut Self
Instead of killing the container on drop, retain it for inspection. Default is false.
Sourcepub fn clear_env(&mut self) -> &mut Self
pub fn clear_env(&mut self) -> &mut Self
Clear the environment variables before starting the service in the container
Sourcepub fn remove_env(&mut self, env: impl Into<String>) -> &mut Self
pub fn remove_env(&mut self, env: impl Into<String>) -> &mut Self
Remove an environment variable from the service in the container
Sourcepub fn with_env(
&mut self,
key: impl Into<String>,
value: impl Into<String>,
) -> &mut Self
pub fn with_env( &mut self, key: impl Into<String>, value: impl Into<String>, ) -> &mut Self
Set an environment variable for the service in the container
Sourcepub fn with_envs(
&mut self,
envs: impl Into<HashMap<String, String>>,
) -> &mut Self
pub fn with_envs( &mut self, envs: impl Into<HashMap<String, String>>, ) -> &mut Self
Set multiple environment variables for the service in the container
Sourcepub fn with_default_timeout(&mut self, timeout: Duration) -> &mut Self
pub fn with_default_timeout(&mut self, timeout: Duration) -> &mut Self
Use the provided timeout as the default for every command executed against the container.
Sourcepub fn clear_default_timeout(&mut self) -> &mut Self
pub fn clear_default_timeout(&mut self) -> &mut Self
Remove any default timeout previously configured on this executor.
Sourcepub fn with_user(&mut self, user: impl Into<String>) -> &mut Self
pub fn with_user(&mut self, user: impl Into<String>) -> &mut Self
Set the user (or user_id:group_id) to run the container as (default None, which means root)
Sourcepub fn with_existing_image(&mut self, path: impl Into<String>) -> &mut Self
pub fn with_existing_image(&mut self, path: impl Into<String>) -> &mut Self
Start with an existing image (full tag). Will skip building the image, unless you set a new Dockerfile. Note that this requires that the image has the service available as a binary.
Sourcepub fn with_image_name(&mut self, name: impl Into<String>) -> &mut Self
pub fn with_image_name(&mut self, name: impl Into<String>) -> &mut Self
Set the name of the image to build (default “docker-executor”)
Sourcepub fn with_container_uuid(&mut self, uuid: impl Into<Uuid>) -> &mut Self
pub fn with_container_uuid(&mut self, uuid: impl Into<Uuid>) -> &mut Self
Overwrite the uuid that is added as suffix to the running container
Sourcepub fn with_dockerfile(&mut self, path: impl Into<PathBuf>) -> &mut Self
pub fn with_dockerfile(&mut self, path: impl Into<PathBuf>) -> &mut Self
Overwrite the dockerfile to use (default “Dockerfile”)
Sourcepub async fn start(self) -> Result<RunningDockerExecutor, DockerExecutorError>
pub async fn start(self) -> Result<RunningDockerExecutor, DockerExecutorError>
Starts the docker executor
Note that on dropping the RunningDockerExecutor, the container will be stopped
Trait Implementations§
Source§impl Clone for DockerExecutor
impl Clone for DockerExecutor
Source§fn clone(&self) -> DockerExecutor
fn clone(&self) -> DockerExecutor
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DockerExecutor
impl Debug for DockerExecutor
Auto Trait Implementations§
impl Freeze for DockerExecutor
impl RefUnwindSafe for DockerExecutor
impl Send for DockerExecutor
impl Sync for DockerExecutor
impl Unpin for DockerExecutor
impl UnwindSafe for DockerExecutor
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request