pub struct Docker { /* private fields */ }Expand description
Docker container manager
Implementations§
Source§impl Docker
impl Docker
Sourcepub async fn connect() -> Result<Self, DockerError>
pub async fn connect() -> Result<Self, DockerError>
Create a new Docker container manager
Sourcepub async fn ping(&self) -> Result<(), DockerError>
pub async fn ping(&self) -> Result<(), DockerError>
Ping the Docker daemon
Sourcepub fn events(&self) -> impl Stream<Item = Result<EventMessage, DockerError>>
pub fn events(&self) -> impl Stream<Item = Result<EventMessage, DockerError>>
Ping the Docker daemon
Methods from Deref<Target = Client>§
Sourcepub async fn list_containers(
&self,
options: Option<impl Into<ListContainersOptions>>,
) -> Result<Vec<ContainerSummary>, Error>
pub async fn list_containers( &self, options: Option<impl Into<ListContainersOptions>>, ) -> Result<Vec<ContainerSummary>, Error>
§List Containers
Returns a list of containers.
§Arguments
- Optional ListContainersOptions struct.
§Returns
- Vector of ContainerSummary, wrapped in a Future.
§Examples
use bollard::container::ListContainersOptions;
use std::collections::HashMap;
use std::default::Default;
let mut filters = HashMap::new();
filters.insert("health", vec!["unhealthy"]);
let options = Some(ListContainersOptions{
all: true,
filters,
..Default::default()
});
docker.list_containers(options);Sourcepub async fn create_container(
&self,
options: Option<impl Into<CreateContainerOptions>>,
config: impl Into<ContainerCreateBody>,
) -> Result<ContainerCreateResponse, Error>
pub async fn create_container( &self, options: Option<impl Into<CreateContainerOptions>>, config: impl Into<ContainerCreateBody>, ) -> Result<ContainerCreateResponse, Error>
§Create Container
Prepares a container for a subsequent start operation.
§Arguments
- Optional Create Container Options struct.
- Container Config struct.
§Returns
- ContainerCreateResponse, wrapped in a Future.
§Examples
use bollard::container::{CreateContainerOptions, Config};
use std::default::Default;
let options = Some(CreateContainerOptions{
name: "my-new-container",
platform: None,
});
let config = Config {
image: Some("hello-world"),
cmd: Some(vec!["/hello"]),
..Default::default()
};
docker.create_container(options, config);Sourcepub async fn start_container(
&self,
container_name: &str,
options: Option<impl Into<StartContainerOptions>>,
) -> Result<(), Error>
pub async fn start_container( &self, container_name: &str, options: Option<impl Into<StartContainerOptions>>, ) -> Result<(), Error>
§Start Container
Starts a container, after preparing it with the Create Container API.
§Arguments
- Container name as a string slice.
- Optional Start Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::StartContainerOptions;
docker.start_container("hello-world", None::<StartContainerOptions<String>>);Sourcepub async fn stop_container(
&self,
container_name: &str,
options: Option<impl Into<StopContainerOptions>>,
) -> Result<(), Error>
pub async fn stop_container( &self, container_name: &str, options: Option<impl Into<StopContainerOptions>>, ) -> Result<(), Error>
§Stop Container
Stops a container.
§Arguments
- Container name as string slice.
- Optional Stop Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::StopContainerOptions;
let options = Some(StopContainerOptions{
t: 30,
});
docker.stop_container("hello-world", options);Sourcepub async fn remove_container(
&self,
container_name: &str,
options: Option<impl Into<RemoveContainerOptions>>,
) -> Result<(), Error>
pub async fn remove_container( &self, container_name: &str, options: Option<impl Into<RemoveContainerOptions>>, ) -> Result<(), Error>
§Remove Container
Remove a container.
§Arguments
- Container name as a string slice.
- Optional Remove Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::RemoveContainerOptions;
use std::default::Default;
let options = Some(RemoveContainerOptions{
force: true,
..Default::default()
});
docker.remove_container("hello-world", options);Sourcepub fn wait_container(
&self,
container_name: &str,
options: Option<impl Into<WaitContainerOptions>>,
) -> impl Stream<Item = Result<ContainerWaitResponse, Error>>
pub fn wait_container( &self, container_name: &str, options: Option<impl Into<WaitContainerOptions>>, ) -> impl Stream<Item = Result<ContainerWaitResponse, Error>>
§Wait Container
Wait for a container to stop. This is a non-blocking operation, the resulting stream will end when the container stops.
§Arguments
- Container name as string slice.
- Optional Wait Container Options struct.
§Returns
- ContainerWaitResponse, wrapped in a Stream.
§Examples
use bollard::container::WaitContainerOptions;
let options = Some(WaitContainerOptions{
condition: "not-running",
});
docker.wait_container("hello-world", options);Sourcepub async fn attach_container(
&self,
container_name: &str,
options: Option<impl Into<AttachContainerOptions>>,
) -> Result<AttachContainerResults, Error>
pub async fn attach_container( &self, container_name: &str, options: Option<impl Into<AttachContainerOptions>>, ) -> Result<AttachContainerResults, Error>
§Attach Container
Attach to a container to read its output or send it input. You can attach to the same container multiple times and you can reattach to containers that have been detached.
§Arguments
- Container name as string slice.
- Optional Attach Container Options struct.
§Returns
- AttachContainerResults wrapped in a Future.
§Examples
use bollard::container::AttachContainerOptions;
let options = Some(AttachContainerOptions::<String>{
stdin: Some(true),
stdout: Some(true),
stderr: Some(true),
stream: Some(true),
logs: Some(true),
detach_keys: Some("ctrl-c".to_string()),
});
docker.attach_container("hello-world", options);Sourcepub async fn resize_container_tty(
&self,
container_name: &str,
options: impl Into<ResizeContainerTTYOptions>,
) -> Result<(), Error>
pub async fn resize_container_tty( &self, container_name: &str, options: impl Into<ResizeContainerTTYOptions>, ) -> Result<(), Error>
§Resize container tty
Resize the container’s TTY.
§Arguments
- Container name as string slice.
- Resize Container Tty Options struct.
§Examples
use bollard::container::ResizeContainerTtyOptions;
let options = ResizeContainerTtyOptions {
width: 50,
height: 20,
};
docker.resize_container_tty("hello-world", options);Sourcepub async fn restart_container(
&self,
container_name: &str,
options: Option<impl Into<RestartContainerOptions>>,
) -> Result<(), Error>
pub async fn restart_container( &self, container_name: &str, options: Option<impl Into<RestartContainerOptions>>, ) -> Result<(), Error>
§Restart Container
Restart a container.
§Arguments
- Container name as string slice.
- Optional Restart Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::RestartContainerOptions;
let options = Some(RestartContainerOptions{
t: 30,
});
docker.restart_container("postgres", options);Sourcepub async fn inspect_container(
&self,
container_name: &str,
options: Option<impl Into<InspectContainerOptions>>,
) -> Result<ContainerInspectResponse, Error>
pub async fn inspect_container( &self, container_name: &str, options: Option<impl Into<InspectContainerOptions>>, ) -> Result<ContainerInspectResponse, Error>
§Inspect Container
Inspect a container.
§Arguments
- Container name as a string slice.
- Optional Inspect Container Options struct.
§Returns
- ContainerInspectResponse, wrapped in a Future.
§Examples
use bollard::container::InspectContainerOptions;
let options = Some(InspectContainerOptions{
size: false,
});
docker.inspect_container("hello-world", options);Sourcepub async fn top_processes(
&self,
container_name: &str,
options: Option<impl Into<TopOptions>>,
) -> Result<ContainerTopResponse, Error>
pub async fn top_processes( &self, container_name: &str, options: Option<impl Into<TopOptions>>, ) -> Result<ContainerTopResponse, Error>
§Top Processes
List processes running inside a container.
§Arguments
- Container name as string slice.
- Optional Top Options struct.
§Returns
- ContainerTopResponse, wrapped in a Future.
§Examples
use bollard::container::TopOptions;
let options = Some(TopOptions{
ps_args: "aux",
});
docker.top_processes("fussybeaver/uhttpd", options);Sourcepub fn logs(
&self,
container_name: &str,
options: Option<impl Into<LogsOptions>>,
) -> impl Stream<Item = Result<LogOutput, Error>>
pub fn logs( &self, container_name: &str, options: Option<impl Into<LogsOptions>>, ) -> impl Stream<Item = Result<LogOutput, Error>>
§Logs
Get container logs.
§Arguments
- Container name as string slice.
- Optional Logs Options struct.
§Returns
- Log Output enum, wrapped in a Stream.
§Examples
use bollard::container::LogsOptions;
use std::default::Default;
let options = Some(LogsOptions::<String>{
stdout: true,
..Default::default()
});
docker.logs("hello-world", options);Sourcepub async fn container_changes(
&self,
container_name: &str,
) -> Result<Option<Vec<FilesystemChange>>, Error>
pub async fn container_changes( &self, container_name: &str, ) -> Result<Option<Vec<FilesystemChange>>, Error>
§Container Changes
Get changes on a container’s filesystem.
§Arguments
- Container name as string slice.
§Returns
- An Option of Vector of File System Change structs, wrapped in a Future.
§Examples
docker.container_changes("hello-world");Sourcepub fn stats(
&self,
container_name: &str,
options: Option<impl Into<StatsOptions>>,
) -> impl Stream<Item = Result<ContainerStatsResponse, Error>>
pub fn stats( &self, container_name: &str, options: Option<impl Into<StatsOptions>>, ) -> impl Stream<Item = Result<ContainerStatsResponse, Error>>
§Stats
Get container stats based on resource usage.
§Arguments
- Container name as string slice.
- Optional Stats Options struct.
§Returns
- Stats struct, wrapped in a Stream.
§Examples
use bollard::container::StatsOptions;
let options = Some(StatsOptions{
stream: false,
one_shot: true,
});
docker.stats("hello-world", options);Sourcepub async fn kill_container(
&self,
container_name: &str,
options: Option<impl Into<KillContainerOptions>>,
) -> Result<(), Error>
pub async fn kill_container( &self, container_name: &str, options: Option<impl Into<KillContainerOptions>>, ) -> Result<(), Error>
§Kill Container
Kill a container.
§Arguments
- Container name as string slice.
- Optional Kill Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::KillContainerOptions;
let options = Some(KillContainerOptions{
signal: "SIGINT",
});
docker.kill_container("postgres", options);Sourcepub async fn update_container(
&self,
container_name: &str,
config: impl Into<ContainerUpdateBody>,
) -> Result<(), Error>
pub async fn update_container( &self, container_name: &str, config: impl Into<ContainerUpdateBody>, ) -> Result<(), Error>
§Update Container
Update a container.
§Arguments
- Container name as string slice.
- Update Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::UpdateContainerOptions;
use std::default::Default;
let config = UpdateContainerOptions::<String> {
memory: Some(314572800),
memory_swap: Some(314572800),
..Default::default()
};
docker.update_container("postgres", config);Sourcepub async fn rename_container(
&self,
container_name: &str,
options: impl Into<RenameContainerOptions>,
) -> Result<(), Error>
pub async fn rename_container( &self, container_name: &str, options: impl Into<RenameContainerOptions>, ) -> Result<(), Error>
§Rename Container
Rename a container.
§Arguments
- Container name as string slice.
- Rename Container Options struct
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::RenameContainerOptions;
let required = RenameContainerOptions {
name: "my_new_container_name"
};
docker.rename_container("hello-world", required);Sourcepub async fn prune_containers(
&self,
options: Option<impl Into<PruneContainersOptions>>,
) -> Result<ContainerPruneResponse, Error>
pub async fn prune_containers( &self, options: Option<impl Into<PruneContainersOptions>>, ) -> Result<ContainerPruneResponse, Error>
§Prune Containers
Delete stopped containers.
§Arguments
- Optional Prune Containers Options struct.
§Returns
- Container Prune Response struct, wrapped in a Future.
§Examples
use bollard::container::PruneContainersOptions;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("until", vec!["10m"]);
let options = Some(PruneContainersOptions{
filters
});
docker.prune_containers(options);Sourcepub async fn upload_to_container_streaming(
&self,
container_name: &str,
options: Option<impl Into<UploadToContainerOptions>>,
tar: impl Stream<Item = Bytes> + Send + 'static,
) -> Result<(), Error>
👎Deprecated since 0.19.0: This method is refactored into upload_to_container
pub async fn upload_to_container_streaming( &self, container_name: &str, options: Option<impl Into<UploadToContainerOptions>>, tar: impl Stream<Item = Bytes> + Send + 'static, ) -> Result<(), Error>
This method is refactored into upload_to_container
§Stream Upload To Container
Stream an upload of a tar archive to be extracted to a path in the filesystem of container id.
§Arguments
- Optional Upload To Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::container::UploadToContainerOptions;
use futures_util::{StreamExt, TryFutureExt};
use tokio::fs::File;
use tokio_util::io::ReaderStream;
let options = Some(UploadToContainerOptions{
path: "/opt",
..Default::default()
});
let file = File::open("tarball.tar.gz")
.map_ok(ReaderStream::new)
.try_flatten_stream()
.map(|x|x.expect("failed to stream file"));
docker
.upload_to_container_streaming("my-container", options, file)
.await
.expect("upload failed");Sourcepub async fn upload_to_container(
&self,
container_name: &str,
options: Option<impl Into<UploadToContainerOptions>>,
tar: Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>,
) -> Result<(), Error>
pub async fn upload_to_container( &self, container_name: &str, options: Option<impl Into<UploadToContainerOptions>>, tar: Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>, ) -> Result<(), Error>
§Upload To Container
Upload a tar archive to be extracted to a path in the filesystem of container id.
§Arguments
- Optional Upload To Container Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
Uploading a tarball
use bollard::container::UploadToContainerOptions;
use bollard::body_full;
use std::fs::File;
use std::io::Read;
let options = Some(UploadToContainerOptions{
path: "/opt",
..Default::default()
});
let mut file = File::open("tarball.tar.gz").unwrap();
let mut contents = Vec::new();
file.read_to_end(&mut contents).unwrap();
docker
.upload_to_container("my-container", options, body_full(contents.into()))
.await
.expect("upload failed");Uploading a stream
use bollard::container::UploadToContainerOptions;
use bollard::body_try_stream;
use futures_util::{StreamExt, TryFutureExt};
use tokio::fs::File;
use tokio_util::io::ReaderStream;
let options = Some(UploadToContainerOptions{
path: "/opt",
..Default::default()
});
let file = File::open("tarball.tar.gz")
.map_ok(ReaderStream::new)
.try_flatten_stream();
docker
.upload_to_container("my-container", options, body_try_stream(file))
.await
.expect("upload failed");Sourcepub fn download_from_container(
&self,
container_name: &str,
options: Option<impl Into<DownloadFromContainerOptions>>,
) -> impl Stream<Item = Result<Bytes, Error>>
pub fn download_from_container( &self, container_name: &str, options: Option<impl Into<DownloadFromContainerOptions>>, ) -> impl Stream<Item = Result<Bytes, Error>>
§Download From Container
Get a tar archive of a resource in the filesystem of container id.
§Arguments
- Download From Container Options struct.
§Returns
- Tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz. Hyper Body.
§Examples
use bollard::container::DownloadFromContainerOptions;
let options = Some(DownloadFromContainerOptions{
path: "/opt",
});
docker.download_from_container("my-container", options);Sourcepub fn export_container(
&self,
container_name: &str,
) -> impl Stream<Item = Result<Bytes, Error>>
pub fn export_container( &self, container_name: &str, ) -> impl Stream<Item = Result<Bytes, Error>>
§Export Container
Get a tarball containing the filesystem contents of a container.
See the Docker API documentation for more information.
§Arguments
- The
container_namestring referring to an individual container
§Returns
- An uncompressed TAR archive
Sourcepub fn timeout(&self) -> Duration
pub fn timeout(&self) -> Duration
Get the current timeout.
This timeout is shared by all requests to the Docker Engine API.
Sourcepub fn set_timeout(&mut self, timeout: Duration)
pub fn set_timeout(&mut self, timeout: Duration)
Set the request timeout.
This timeout is shared by all requests to the Docker Engine API.
By default, 2 minutes.
Sourcepub fn client_version(&self) -> ClientVersion
pub fn client_version(&self) -> ClientVersion
Return the currently set client version.
Sourcepub async fn create_exec(
&self,
container_name: &str,
config: impl Into<ExecConfig>,
) -> Result<CreateExecResults, Error>
pub async fn create_exec( &self, container_name: &str, config: impl Into<ExecConfig>, ) -> Result<CreateExecResults, Error>
§Create Exec
Run a command inside a running container.
§Arguments
- Container name as string slice.
- Create Exec Options struct.
§Returns
- A Create Exec Results struct, wrapped in a Future.
§Examples
use bollard::exec::CreateExecOptions;
use std::default::Default;
let config = CreateExecOptions {
cmd: Some(vec!["ps", "-ef"]),
attach_stdout: Some(true),
..Default::default()
};
docker.create_exec("hello-world", config);Sourcepub async fn start_exec(
&self,
exec_id: &str,
config: Option<StartExecOptions>,
) -> Result<StartExecResults, Error>
pub async fn start_exec( &self, exec_id: &str, config: Option<StartExecOptions>, ) -> Result<StartExecResults, Error>
§Start Exec
Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command.
§Arguments
- The ID of the previously created exec configuration.
§Returns
- Log Output enum, wrapped in a Stream.
§Examples
async {
let message = docker.create_exec("hello-world", config).await.unwrap();
use bollard::exec::StartExecOptions;
docker.start_exec(&message.id, None::<StartExecOptions>);
};Sourcepub async fn inspect_exec(
&self,
exec_id: &str,
) -> Result<ExecInspectResponse, Error>
pub async fn inspect_exec( &self, exec_id: &str, ) -> Result<ExecInspectResponse, Error>
§Inspect Exec
Return low-level information about an exec instance.
§Arguments
- The ID of the previously created exec configuration.
§Returns
- An Exec Inspect Response struct, wrapped in a Future.
§Examples
async {
let message = docker.create_exec("hello-world", config).await.unwrap();
docker.inspect_exec(&message.id);
};Sourcepub async fn resize_exec(
&self,
exec_id: &str,
options: impl Into<ResizeExecOptions>,
) -> Result<(), Error>
pub async fn resize_exec( &self, exec_id: &str, options: impl Into<ResizeExecOptions>, ) -> Result<(), Error>
§Resize Exec
Resize the TTY session used by an exec instance. This endpoint only works if tty was specified as part of creating and starting the exec instance.
§Arguments
- The ID of the previously created exec configuration.
- Resize Exec Options struct.
§Examples
async {
let message = docker.create_exec("hello-world", config).await.unwrap();
docker.resize_exec(&message.id, ResizeExecOptions {
width: 80,
height: 60
});
};Sourcepub async fn list_images(
&self,
options: Option<impl Into<ListImagesOptions>>,
) -> Result<Vec<ImageSummary>, Error>
pub async fn list_images( &self, options: Option<impl Into<ListImagesOptions>>, ) -> Result<Vec<ImageSummary>, Error>
§List Images
Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image
§Arguments
- An optional List Images Options struct.
§Returns
- Vector of API Images, wrapped in a Future.
§Examples
use bollard::image::ListImagesOptions;
use std::collections::HashMap;
use std::default::Default;
let mut filters = HashMap::new();
filters.insert("dangling", vec!["true"]);
let options = Some(ListImagesOptions{
all: true,
filters,
..Default::default()
});
docker.list_images(options);Sourcepub fn create_image(
&self,
options: Option<impl Into<CreateImageOptions>>,
root_fs: Option<Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>>,
credentials: Option<DockerCredentials>,
) -> impl Stream<Item = Result<CreateImageInfo, Error>>
pub fn create_image( &self, options: Option<impl Into<CreateImageOptions>>, root_fs: Option<Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>>, credentials: Option<DockerCredentials>, ) -> impl Stream<Item = Result<CreateImageInfo, Error>>
§Create Image
Create an image by either pulling it from a registry or importing it.
§Arguments
- An optional Create Image Options struct.
- An optional request body consisting of a tar or tar.gz archive, or a stream
containing the root file system for the image. If this argument is used,
the value of the
from_srcoption must be “-”.
§Returns
- Create Image Info, wrapped in an asynchronous Stream.
§Examples
use bollard::image::CreateImageOptions;
use std::default::Default;
let options = Some(CreateImageOptions{
from_image: "hello-world",
..Default::default()
});
docker.create_image(options, None, None);
// do some other work while the image is pulled from the docker hub...§Unsupported
- Import from tarball
Sourcepub async fn inspect_image(
&self,
image_name: &str,
) -> Result<ImageInspect, Error>
pub async fn inspect_image( &self, image_name: &str, ) -> Result<ImageInspect, Error>
§Inspect Image
Return low-level information about an image.
§Arguments
- Image name as a string slice.
§Returns
- ImageInspect, wrapped in a Future.
§Examples
use std::default::Default;
docker.inspect_image("hello-world");Sourcepub async fn inspect_registry_image(
&self,
image_name: &str,
credentials: Option<DockerCredentials>,
) -> Result<DistributionInspect, Error>
pub async fn inspect_registry_image( &self, image_name: &str, credentials: Option<DockerCredentials>, ) -> Result<DistributionInspect, Error>
§Inspect an Image by contacting the registry
Return image digest and platform information by contacting the registry
§Arguments
- Image name as a string slice.
§Returns
- DistributionInspect, wrapped in a Future
§Examples
use bollard::Docker;
let docker = Docker::connect_with_http_defaults().unwrap();
docker.inspect_registry_image("ubuntu:jammy", None);Sourcepub async fn prune_images(
&self,
options: Option<impl Into<PruneImagesOptions>>,
) -> Result<ImagePruneResponse, Error>
pub async fn prune_images( &self, options: Option<impl Into<PruneImagesOptions>>, ) -> Result<ImagePruneResponse, Error>
§Prune Images
Delete unused images.
§Arguments
- An optional Prune Images Options struct.
§Returns
- a Prune Image Response, wrapped in a Future.
§Examples
use bollard::image::PruneImagesOptions;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("until", vec!["10m"]);
let options = Some(PruneImagesOptions {
filters
});
docker.prune_images(options);Sourcepub async fn image_history(
&self,
image_name: &str,
) -> Result<Vec<HistoryResponseItem>, Error>
pub async fn image_history( &self, image_name: &str, ) -> Result<Vec<HistoryResponseItem>, Error>
§Image History
Return parent layers of an image.
§Arguments
- Image name as a string slice.
§Returns
- Vector of History Response Item, wrapped in a Future.
§Examples
docker.image_history("hello-world");Sourcepub async fn search_images(
&self,
options: impl Into<SearchImagesOptions>,
) -> Result<Vec<ImageSearchResponseItem>, Error>
pub async fn search_images( &self, options: impl Into<SearchImagesOptions>, ) -> Result<Vec<ImageSearchResponseItem>, Error>
§Search Images
Search for an image on Docker Hub.
§Arguments
- Search Image Options struct.
§Returns
- Vector of Image Search Response Item results, wrapped in a Future.
§Examples
use bollard::image::SearchImagesOptions;
use std::default::Default;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("until", vec!["10m"]);
let search_options = SearchImagesOptions {
term: "hello-world",
filters,
..Default::default()
};
docker.search_images(search_options);Sourcepub async fn remove_image(
&self,
image_name: &str,
options: Option<impl Into<RemoveImageOptions>>,
credentials: Option<DockerCredentials>,
) -> Result<Vec<ImageDeleteResponseItem>, Error>
pub async fn remove_image( &self, image_name: &str, options: Option<impl Into<RemoveImageOptions>>, credentials: Option<DockerCredentials>, ) -> Result<Vec<ImageDeleteResponseItem>, Error>
§Remove Image
Remove an image, along with any untagged parent images that were referenced by that image.
§Arguments
- Image name as a string slice.
- An optional Remove Image Options struct.
§Returns
- Vector of Image Delete Response Item, wrapped in a Future.
§Examples
use bollard::image::RemoveImageOptions;
use std::default::Default;
let remove_options = Some(RemoveImageOptions {
force: true,
..Default::default()
});
docker.remove_image("hello-world", remove_options, None);Sourcepub async fn tag_image(
&self,
image_name: &str,
options: Option<impl Into<TagImageOptions>>,
) -> Result<(), Error>
pub async fn tag_image( &self, image_name: &str, options: Option<impl Into<TagImageOptions>>, ) -> Result<(), Error>
§Tag Image
Tag an image so that it becomes part of a repository.
§Arguments
- Image name as a string slice.
- Optional Tag Image Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::image::TagImageOptions;
use std::default::Default;
let tag_options = Some(TagImageOptions {
tag: "v1.0.1",
..Default::default()
});
docker.tag_image("hello-world", tag_options);Sourcepub fn push_image(
&self,
image_name: &str,
options: Option<impl Into<PushImageOptions>>,
credentials: Option<DockerCredentials>,
) -> impl Stream<Item = Result<PushImageInfo, Error>>
pub fn push_image( &self, image_name: &str, options: Option<impl Into<PushImageOptions>>, credentials: Option<DockerCredentials>, ) -> impl Stream<Item = Result<PushImageInfo, Error>>
§Push Image
Push an image to a registry.
§Arguments
- Image name as a string slice.
- Optional Push Image Options struct.
- Optional Docker Credentials struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::auth::DockerCredentials;
use bollard::image::PushImageOptions;
use std::default::Default;
let push_options = Some(PushImageOptions {
tag: "v1.0.1",
});
let credentials = Some(DockerCredentials {
username: Some("Jack".to_string()),
password: Some("myverysecretpassword".to_string()),
..Default::default()
});
docker.push_image("hello-world", push_options, credentials);Sourcepub async fn commit_container(
&self,
options: impl Into<CommitContainerOptions>,
config: impl Into<ContainerConfig>,
) -> Result<IdResponse, Error>
pub async fn commit_container( &self, options: impl Into<CommitContainerOptions>, config: impl Into<ContainerConfig>, ) -> Result<IdResponse, Error>
§Commit Container
Create a new image from a container.
§Arguments
- Commit Container Options struct.
- Container Config struct.
§Returns
- Commit, wrapped in a Future.
§Examples
use bollard::image::CommitContainerOptions;
use bollard::container::Config;
use std::default::Default;
let options = CommitContainerOptions{
container: "my-running-container",
pause: true,
..Default::default()
};
let config = Config::<String> {
..Default::default()
};
docker.commit_container(options, config);Sourcepub fn build_image(
&self,
options: impl Into<BuildImageOptions>,
credentials: Option<HashMap<String, DockerCredentials>>,
tar: Option<Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>>,
) -> impl Stream<Item = Result<BuildInfo, Error>>
pub fn build_image( &self, options: impl Into<BuildImageOptions>, credentials: Option<HashMap<String, DockerCredentials>>, tar: Option<Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>>, ) -> impl Stream<Item = Result<BuildInfo, Error>>
§Build Image
Build an image from a tar archive with a Dockerfile in it.
The Dockerfile specifies how the image is built from the tar archive. It is typically in
the archive’s root, but can be at a different path or have a different name by specifying
the dockerfile parameter.
By default, the call to build specifies using BuilderV1, the first generation builder in docker daemon.
§Arguments
- Build Image Options struct.
- Optional Docker Credentials struct.
- Tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz. Optional Hyper Body.
§Returns
- Create Image Info, wrapped in an asynchronous Stream.
§Examples
Sending a tarball:
use bollard::image::BuildImageOptions;
use bollard::container::Config;
use bollard::body_full;
use std::default::Default;
use std::fs::File;
use std::io::Read;
let options = BuildImageOptions{
dockerfile: "Dockerfile",
t: "my-image",
rm: true,
..Default::default()
};
let mut file = File::open("tarball.tar.gz").unwrap();
let mut contents = Vec::new();
file.read_to_end(&mut contents).unwrap();
docker.build_image(options, None, Some(body_full(contents.into())));Sending a stream:
use bollard::image::BuildImageOptions;
use bollard::container::Config;
use bollard::body_stream;
use std::default::Default;
use std::fs::File;
use std::io::Read;
let options = BuildImageOptions{
dockerfile: "Dockerfile",
t: "my-image",
rm: true,
..Default::default()
};
docker.build_image(options, None, Some(body_stream(stream)));Sourcepub async fn prune_build(
&self,
options: Option<impl Into<PruneBuildOptions>>,
) -> Result<BuildPruneResponse, Error>
pub async fn prune_build( &self, options: Option<impl Into<PruneBuildOptions>>, ) -> Result<BuildPruneResponse, Error>
§Prune Build
Delete contents of the build cache
§Arguments
- An optional Prune Build Options struct.
§Returns
- a Prune Build Response, wrapped in a Future.
§Examples
use bollard::image::PruneBuildOptions;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("until", vec!["10m"]);
let options = Some(PruneBuildOptions {
filters,
..Default::default()
});
docker.prune_build(options);Sourcepub fn export_image(
&self,
image_name: &str,
) -> impl Stream<Item = Result<Bytes, Error>>
pub fn export_image( &self, image_name: &str, ) -> impl Stream<Item = Result<Bytes, Error>>
§Export Image
Get a tarball containing all images and metadata for a repository.
The root of the resulting tar file will contain the file “manifest.json”. If the export is
of an image repository, rather than a single image, there will also be a repositories file
with a JSON description of the exported image repositories.
Additionally, each layer of all exported images will have a sub directory in the archive
containing the filesystem of the layer.
See the Docker API documentation for more information.
§Arguments
- The
image_namestring referring to an individual image and tag (e.g. alpine:latest)
§Returns
- An uncompressed TAR archive
Sourcepub fn export_images(
&self,
image_names: &[&str],
) -> impl Stream<Item = Result<Bytes, Error>>
pub fn export_images( &self, image_names: &[&str], ) -> impl Stream<Item = Result<Bytes, Error>>
§Export Images
Get a tarball containing all images and metadata for several image repositories. Shared layers will be deduplicated.
See the Docker API documentation for more information.
§Arguments
- The
image_namesVec of image names.
§Returns
- An uncompressed TAR archive
Sourcepub fn import_image(
&self,
options: impl Into<ImportImageOptions>,
root_fs: Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>,
credentials: Option<HashMap<String, DockerCredentials>>,
) -> impl Stream<Item = Result<BuildInfo, Error>>
pub fn import_image( &self, options: impl Into<ImportImageOptions>, root_fs: Either<Full<Bytes>, StreamBody<Pin<Box<dyn Stream<Item = Result<Frame<Bytes>, Error>> + Send>>>>, credentials: Option<HashMap<String, DockerCredentials>>, ) -> impl Stream<Item = Result<BuildInfo, Error>>
§Import Image
Load a set of images and tags into a repository.
For details on the format, see the export image endpoint.
§Arguments
- Image Import Options struct.
§Returns
- Build Info, wrapped in an asynchronous Stream.
§Examples
use bollard::image::ImportImageOptions;
use bollard::errors::Error;
use bollard::body_full;
use std::default::Default;
use futures_util::stream::{StreamExt, TryStreamExt};
use tokio::fs::File;
use tokio::io::AsyncWriteExt;
use tokio_util::codec;
let options = ImportImageOptions{
..Default::default()
};
async move {
let mut file = File::open("tarball.tar.gz").await.unwrap();
let mut byte_stream = codec::FramedRead::new(file, codec::BytesCodec::new()).map(|r| {
let bytes = r.unwrap().freeze();
Ok::<_, Error>(bytes)
});
let bytes = byte_stream.next().await.unwrap().unwrap();
let mut stream = docker
.import_image(
ImportImageOptions {
..Default::default()
},
body_full(bytes),
None,
);
while let Some(response) = stream.next().await {
// ...
}
};Sourcepub fn import_image_stream(
&self,
options: impl Into<ImportImageOptions>,
root_fs: impl Stream<Item = Bytes> + Send + 'static,
credentials: Option<HashMap<String, DockerCredentials>>,
) -> impl Stream<Item = Result<BuildInfo, Error>>
pub fn import_image_stream( &self, options: impl Into<ImportImageOptions>, root_fs: impl Stream<Item = Bytes> + Send + 'static, credentials: Option<HashMap<String, DockerCredentials>>, ) -> impl Stream<Item = Result<BuildInfo, Error>>
§Import Image (stream)
Load a set of images and tags into a repository, without holding it all in memory at a given point in time
For details on the format, see the export image endpoint.
§Arguments
- Image Import Options struct.
- Stream producing
Bytesof the image
§Returns
- Build Info, wrapped in an asynchronous Stream.
§Examples
use bollard::image::ImportImageOptions;
use bollard::errors::Error;
use std::default::Default;
use futures_util::stream::{StreamExt, TryStreamExt};
use tokio::fs::File;
use tokio::io::AsyncWriteExt;
use tokio_util::codec;
let options = ImportImageOptions{
..Default::default()
};
async move {
let mut file = File::open("tarball.tar.gz").await.unwrap();
let mut byte_stream = codec::FramedRead::new(file, codec::BytesCodec::new()).map(|r| {
r.unwrap().freeze()
});
let mut stream = docker
.import_image_stream(
ImportImageOptions {
..Default::default()
},
byte_stream,
None,
);
while let Some(response) = stream.next().await {
// ...
}
};Sourcepub async fn create_network(
&self,
config: impl Into<NetworkCreateRequest>,
) -> Result<NetworkCreateResponse, Error>
pub async fn create_network( &self, config: impl Into<NetworkCreateRequest>, ) -> Result<NetworkCreateResponse, Error>
§Create Network
Create a new network.
§Arguments
- Create Network Options struct.
§Returns
- A Network Create Response struct, wrapped in a Future.
§Examples
use bollard::network::CreateNetworkOptions;
use std::default::Default;
let config = CreateNetworkOptions {
name: "certs",
..Default::default()
};
docker.create_network(config);Sourcepub async fn inspect_network(
&self,
network_name: &str,
options: Option<impl Into<InspectNetworkOptions>>,
) -> Result<Network, Error>
pub async fn inspect_network( &self, network_name: &str, options: Option<impl Into<InspectNetworkOptions>>, ) -> Result<Network, Error>
§Inspect a Network
§Arguments
- Network name as a string slice.
§Returns
- A Models struct, wrapped in a Future.
§Examples
use bollard::network::InspectNetworkOptions;
use std::default::Default;
let config = InspectNetworkOptions {
verbose: true,
scope: "global"
};
docker.inspect_network("my_network_name", Some(config));Sourcepub async fn list_networks(
&self,
options: Option<impl Into<ListNetworksOptions>>,
) -> Result<Vec<Network>, Error>
pub async fn list_networks( &self, options: Option<impl Into<ListNetworksOptions>>, ) -> Result<Vec<Network>, Error>
§List Networks
§Arguments
- Optional List Network Options struct.
§Returns
- A vector of Network struct, wrapped in a Future.
§Examples
use bollard::network::ListNetworksOptions;
use std::collections::HashMap;
let mut list_networks_filters = HashMap::new();
list_networks_filters.insert("label", vec!["maintainer=some_maintainer"]);
let config = ListNetworksOptions {
filters: list_networks_filters,
};
docker.list_networks(Some(config));Sourcepub async fn connect_network(
&self,
network_name: &str,
config: impl Into<NetworkConnectRequest>,
) -> Result<(), Error>
pub async fn connect_network( &self, network_name: &str, config: impl Into<NetworkConnectRequest>, ) -> Result<(), Error>
§Connect Network
§Arguments
- A Connect Network Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::network::ConnectNetworkOptions;
use bollard::models::{EndpointSettings, EndpointIpamConfig};
use std::default::Default;
let config = ConnectNetworkOptions {
container: "3613f73ba0e4",
endpoint_config: EndpointSettings {
ipam_config: Some(EndpointIpamConfig {
ipv4_address: Some(String::from("172.24.56.89")),
ipv6_address: Some(String::from("2001:db8::5689")),
..Default::default()
}),
..Default::default()
}
};
docker.connect_network("my_network_name", config);Sourcepub async fn disconnect_network(
&self,
network_name: &str,
config: impl Into<NetworkDisconnectRequest>,
) -> Result<(), Error>
pub async fn disconnect_network( &self, network_name: &str, config: impl Into<NetworkDisconnectRequest>, ) -> Result<(), Error>
§Disconnect Network
§Arguments
- A Disconnect Network Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::network::DisconnectNetworkOptions;
use std::default::Default;
let config = DisconnectNetworkOptions {
container: "3613f73ba0e4",
force: true
};
docker.disconnect_network("my_network_name", config);Sourcepub async fn prune_networks(
&self,
options: Option<impl Into<PruneNetworksOptions>>,
) -> Result<NetworkPruneResponse, Error>
pub async fn prune_networks( &self, options: Option<impl Into<PruneNetworksOptions>>, ) -> Result<NetworkPruneResponse, Error>
§Prune Networks
Deletes networks which are unused.
§Arguments
- A Prune Networks Options struct.
§Returns
- A Network Prune Response struct.
§Examples
use bollard::network::PruneNetworksOptions;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("label", vec!["maintainer=some_maintainer"]);
let options = PruneNetworksOptions {
filters,
};
docker.prune_networks(Some(options));Sourcepub async fn list_nodes(
&self,
options: Option<impl Into<ListNodesOptions>>,
) -> Result<Vec<Node>, Error>
pub async fn list_nodes( &self, options: Option<impl Into<ListNodesOptions>>, ) -> Result<Vec<Node>, Error>
§List Nodes
§Arguments
- Optional List Nodes Options struct.
§Returns
- A vector of Node struct, wrapped in a Future.
§Examples
use bollard::node::ListNodesOptions;
use std::collections::HashMap;
let mut list_nodes_filters = HashMap::new();
list_nodes_filters.insert("node.label", vec!["my-node-label"]);
let config = ListNodesOptions {
filters: list_nodes_filters,
};
docker.list_nodes(Some(config));Sourcepub async fn delete_node(
&self,
node_name: &str,
options: Option<impl Into<DeleteNodeOptions>>,
) -> Result<(), Error>
pub async fn delete_node( &self, node_name: &str, options: Option<impl Into<DeleteNodeOptions>>, ) -> Result<(), Error>
§Delete Node
Delete a node.
§Arguments
- Node id or name as a string slice.
- Optional Delete Node Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::node::DeleteNodeOptions;
let options = Some(DeleteNodeOptions {
force: true,
..Default::default()
});
docker.delete_node("my-node", options);Sourcepub async fn update_node(
&self,
node_id: &str,
spec: NodeSpec,
options: impl Into<UpdateNodeOptions>,
) -> Result<(), Error>
pub async fn update_node( &self, node_id: &str, spec: NodeSpec, options: impl Into<UpdateNodeOptions>, ) -> Result<(), Error>
§Update Node
Update a node.
§Arguments
- Node id as string slice.
- Update Node Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::node::UpdateNodeOptions;
use bollard::models::{NodeSpec, NodeSpecAvailabilityEnum, NodeSpecRoleEnum};
let spec = NodeSpec {
availability: Some(NodeSpecAvailabilityEnum::ACTIVE),
name: Some("my-new-node-name".to_string()),
role: Some(NodeSpecRoleEnum::MANAGER),
..Default::default()
};
let options = UpdateNodeOptions {
version: 2,
..Default::default()
};
docker.update_node("my-node-id", spec, options);Sourcepub async fn list_secrets(
&self,
options: Option<impl Into<ListSecretsOptions>>,
) -> Result<Vec<Secret>, Error>
pub async fn list_secrets( &self, options: Option<impl Into<ListSecretsOptions>>, ) -> Result<Vec<Secret>, Error>
§List Secrets
Returns a list of secrets.
§Arguments
- Optional ListSecretsOptions struct.
§Returns
- Vector of Secret, wrapped in a Future.
§Examples
use bollard::secret::ListSecretsOptions;
use std::collections::HashMap;
use std::default::Default;
let mut filters = HashMap::new();
filters.insert("label", vec!["secret-label=label-value"]);
let options = Some(ListSecretsOptions{
filters,
..Default::default()
});
docker.list_secrets(options);Sourcepub async fn create_secret(
&self,
secret_spec: SecretSpec,
) -> Result<IdResponse, Error>
pub async fn create_secret( &self, secret_spec: SecretSpec, ) -> Result<IdResponse, Error>
§Create Secret
Create new secret on the docker swarm.
§Arguments
- SecretSpec struct.
§Returns
- A IdResponse wrapped in a Future.
§Examples
use bollard::secret::SecretSpec;
use base64;
let secret_spec = SecretSpec {
name: Some(String::from("secret-name")),
data: Some(base64::engine::general_purpose::STANDARD.encode("secret-data")),
..Default::default()
};
docker.create_secret(secret_spec);Sourcepub async fn update_secret(
&self,
secret_id: &str,
secret_spec: SecretSpec,
options: impl Into<UpdateSecretOptions>,
) -> Result<(), Error>
pub async fn update_secret( &self, secret_id: &str, secret_spec: SecretSpec, options: impl Into<UpdateSecretOptions>, ) -> Result<(), Error>
§Update Secret
Update an existing secret, fails when more than one service use that secret or trying update data.
§Arguments
- Secret id or name as a string slice.
- SecretSpec struct.
- UpdateSecretOptions struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use std::collections::HashMap;
use bollard::secret::UpdateSecretOptions;
let result = async move {
let existing = docker.inspect_secret("my-secret").await?;
let version = existing.version.unwrap().index.unwrap();
let mut spec = existing.spec.unwrap().clone();
let mut labels = HashMap::new();
labels.insert(String::from("secret-label"), String::from("label-value"));
spec.labels = Some(labels.clone());
let options = UpdateSecretOptions { version };
docker.update_secret("my-secret", spec, options).await
};Sourcepub async fn list_services(
&self,
options: Option<impl Into<ListServicesOptions>>,
) -> Result<Vec<Service>, Error>
pub async fn list_services( &self, options: Option<impl Into<ListServicesOptions>>, ) -> Result<Vec<Service>, Error>
§List Services
Returns a list of services.
§Arguments
- Optional ListServicesOptions struct.
§Returns
- Vector of Services, wrapped in a Future.
§Examples
use bollard::service::ListServicesOptions;
use std::collections::HashMap;
use std::default::Default;
let mut filters = HashMap::new();
filters.insert("mode", vec!["global"]);
let options = Some(ListServicesOptions{
filters,
..Default::default()
});
docker.list_services(options);Sourcepub async fn create_service(
&self,
service_spec: ServiceSpec,
credentials: Option<DockerCredentials>,
) -> Result<ServiceCreateResponse, Error>
pub async fn create_service( &self, service_spec: ServiceSpec, credentials: Option<DockerCredentials>, ) -> Result<ServiceCreateResponse, Error>
§Create Service
Dispatch a new service on the docker swarm
§Arguments
- ServiceSpec struct.
- Optional Docker Credentials struct.
§Returns
- A Service Create Response struct, wrapped in a Future.
§Examples
use bollard::service::{
ServiceSpec,
ServiceSpecMode,
ServiceSpecModeReplicated,
TaskSpec,
TaskSpecContainerSpec
};
let service = ServiceSpec {
name: Some(String::from("my-service")),
mode: Some(ServiceSpecMode {
replicated: Some(ServiceSpecModeReplicated {
replicas: Some(2)
}),
..Default::default()
}),
task_template: Some(TaskSpec {
container_spec: Some(TaskSpecContainerSpec {
image: Some(String::from("hello-world")),
..Default::default()
}),
..Default::default()
}),
..Default::default()
};
let credentials = None;
docker.create_service(service, credentials);Sourcepub async fn inspect_service(
&self,
service_name: &str,
options: Option<impl Into<InspectServiceOptions>>,
) -> Result<Service, Error>
pub async fn inspect_service( &self, service_name: &str, options: Option<impl Into<InspectServiceOptions>>, ) -> Result<Service, Error>
§Inspect Service
Inspect a service.
§Arguments
- Service name or id as a string slice.
- Optional Inspect Service Options struct.
§Returns
- Service, wrapped in a Future.
§Examples
use bollard::service::InspectServiceOptions;
let options = Some(InspectServiceOptions{
insert_defaults: true,
});
docker.inspect_service("my-service", options);Sourcepub async fn update_service(
&self,
service_name: &str,
service_spec: ServiceSpec,
options: impl Into<UpdateServiceOptions>,
credentials: Option<DockerCredentials>,
) -> Result<ServiceUpdateResponse, Error>
pub async fn update_service( &self, service_name: &str, service_spec: ServiceSpec, options: impl Into<UpdateServiceOptions>, credentials: Option<DockerCredentials>, ) -> Result<ServiceUpdateResponse, Error>
§Update Service
Update an existing service
§Arguments
- Service name or id as a string slice.
- ServiceSpec struct.
- UpdateServiceOptions struct.
- Optional Docker Credentials struct.
§Returns
- A Service Update Response struct, wrapped in a Future.
§Examples
use bollard::service::{
InspectServiceOptions,
ServiceSpec,
ServiceSpecMode,
ServiceSpecModeReplicated,
TaskSpec,
TaskSpecContainerSpec,
UpdateServiceOptions,
};
use std::collections::HashMap;
use std::default::Default;
let result = async move {
let service_name = "my-service";
let current_version = docker.inspect_service(
service_name,
None::<InspectServiceOptions>
).await?.version.unwrap().index.unwrap();
let service = ServiceSpec {
mode: Some(ServiceSpecMode {
replicated: Some(ServiceSpecModeReplicated {
replicas: Some(0)
}),
..Default::default()
}),
..Default::default()
};
let options = UpdateServiceOptions {
version: current_version,
..Default::default()
};
let credentials = None;
docker.update_service("my-service", service, options, credentials).await
};Sourcepub async fn init_swarm(
&self,
config: impl Into<SwarmInitRequest>,
) -> Result<String, Error>
pub async fn init_swarm( &self, config: impl Into<SwarmInitRequest>, ) -> Result<String, Error>
§Init Swarm
Initialize a new swarm.
§Arguments
- Init Swarm Options struct.
§Returns
- A String wrapped in a Future.
§Examples
use std::default::Default;
let config = InitSwarmOptions {
advertise_addr: "127.0.0.1",
listen_addr: "0.0.0.0:2377"
};
docker.init_swarm(config);Sourcepub async fn inspect_swarm(&self) -> Result<Swarm, Error>
pub async fn inspect_swarm(&self) -> Result<Swarm, Error>
Sourcepub async fn join_swarm(
&self,
config: impl Into<SwarmJoinRequest>,
) -> Result<(), Error>
pub async fn join_swarm( &self, config: impl Into<SwarmJoinRequest>, ) -> Result<(), Error>
§Join a Swarm
§Arguments
- Join Swarm Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
let config = JoinSwarmOptions {
advertise_addr: "127.0.0.1",
join_token: "token",
};
docker.join_swarm(config);Sourcepub async fn leave_swarm(
&self,
options: Option<impl Into<LeaveSwarmOptions>>,
) -> Result<(), Error>
pub async fn leave_swarm( &self, options: Option<impl Into<LeaveSwarmOptions>>, ) -> Result<(), Error>
Sourcepub async fn version(&self) -> Result<SystemVersion, Error>
pub async fn version(&self) -> Result<SystemVersion, Error>
Sourcepub async fn info(&self) -> Result<SystemInfo, Error>
pub async fn info(&self) -> Result<SystemInfo, Error>
Sourcepub fn events(
&self,
options: Option<impl Into<EventsOptions>>,
) -> impl Stream<Item = Result<EventMessage, Error>>
pub fn events( &self, options: Option<impl Into<EventsOptions>>, ) -> impl Stream<Item = Result<EventMessage, Error>>
§Events
Stream real-time events from the server.
§Returns
- EventMessage, wrapped in a Stream.
§Examples
use bollard::system::EventsOptions;
use time::{Duration, OffsetDateTime};
use std::collections::HashMap;
docker.events(Some(EventsOptions::<String> {
since: Some(OffsetDateTime::now_utc() - Duration::minutes(20)),
until: Some(OffsetDateTime::now_utc()),
filters: HashMap::new(),
}));Sourcepub async fn df(
&self,
options: Option<DataUsageOptions>,
) -> Result<SystemDataUsageResponse, Error>
pub async fn df( &self, options: Option<DataUsageOptions>, ) -> Result<SystemDataUsageResponse, Error>
§Get data usage information
Show docker disk usage
§Returns
- System Data Usage Response, wrapped in a Future.
§Examples
docker.df(None::<DataUsageOptions>);Sourcepub async fn list_tasks(
&self,
options: Option<impl Into<ListTasksOptions>>,
) -> Result<Vec<Task>, Error>
pub async fn list_tasks( &self, options: Option<impl Into<ListTasksOptions>>, ) -> Result<Vec<Task>, Error>
§List Tasks
§Arguments
- Optional List Tasks Options struct.
§Returns
- A vector of Task struct, wrapped in a Future.
§Examples
use bollard::task::ListTasksOptions;
use std::collections::HashMap;
let mut list_tasks_filters = HashMap::new();
list_tasks_filters.insert("label", vec!["my-task-label"]);
let config = ListTasksOptions {
filters: list_tasks_filters,
};
docker.list_tasks(Some(config));Sourcepub async fn list_volumes(
&self,
options: Option<impl Into<ListVolumesOptions>>,
) -> Result<VolumeListResponse, Error>
pub async fn list_volumes( &self, options: Option<impl Into<ListVolumesOptions>>, ) -> Result<VolumeListResponse, Error>
§List volumes
§Arguments
- List Volumes Options struct.
§Returns
- A [Volume List Response]VolumeListResponse) struct, wrapped in a Future.
§Examples
use bollard::volume::ListVolumesOptions;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("dangling", vec!("1"));
let options = ListVolumesOptions {
filters,
};
docker.list_volumes(Some(options));Sourcepub async fn create_volume(
&self,
config: impl Into<VolumeCreateOptions>,
) -> Result<Volume, Error>
pub async fn create_volume( &self, config: impl Into<VolumeCreateOptions>, ) -> Result<Volume, Error>
§Create Volume
Create a new volume.
§Arguments
- Create Volume Options struct.
§Returns
- A Volume struct, wrapped in a Future.
§Examples
use bollard::volume::CreateVolumeOptions;
use std::default::Default;
let config = CreateVolumeOptions {
name: "certs",
..Default::default()
};
docker.create_volume(config);Sourcepub async fn remove_volume(
&self,
volume_name: &str,
options: Option<impl Into<RemoveVolumeOptions>>,
) -> Result<(), Error>
pub async fn remove_volume( &self, volume_name: &str, options: Option<impl Into<RemoveVolumeOptions>>, ) -> Result<(), Error>
§Remove a Volume
§Arguments
- Volume name as a string slice.
§Arguments
- Remove Volume Options struct.
§Returns
- unit type
(), wrapped in a Future.
§Examples
use bollard::volume::RemoveVolumeOptions;
let options = RemoveVolumeOptions {
force: true,
};
docker.remove_volume("my_volume_name", Some(options));Sourcepub async fn prune_volumes(
&self,
options: Option<impl Into<PruneVolumesOptions>>,
) -> Result<VolumePruneResponse, Error>
pub async fn prune_volumes( &self, options: Option<impl Into<PruneVolumesOptions>>, ) -> Result<VolumePruneResponse, Error>
§Prune Volumes
Delete unused volumes.
§Arguments
- A Prune Volumes Options struct.
§Returns
- A Volume Prune Response struct.
§Examples
use bollard::volume::PruneVolumesOptions;
use std::collections::HashMap;
let mut filters = HashMap::new();
filters.insert("label", vec!["maintainer=some_maintainer"]);
let options = PruneVolumesOptions {
filters,
};
docker.prune_volumes(Some(options));Trait Implementations§
Source§impl BorrowMut<Docker> for Docker
impl BorrowMut<Docker> for Docker
Source§fn borrow_mut(&mut self) -> &mut Client
fn borrow_mut(&mut self) -> &mut Client
Auto Trait Implementations§
impl Freeze for Docker
impl !RefUnwindSafe for Docker
impl Send for Docker
impl Sync for Docker
impl Unpin for Docker
impl UnsafeUnpin for Docker
impl !UnwindSafe for Docker
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
&self to an expression for Diesel’s query builder. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.