Struct docker_api::docker::Docker
source · pub struct Docker { /* private fields */ }
Expand description
Entrypoint interface for communicating with docker daemon
Implementations§
source§impl Docker
impl Docker
sourcepub async fn version(&self) -> Result<SystemVersion>
pub async fn version(&self) -> Result<SystemVersion>
Returns the version of Docker that is running and various information about the system that Docker is running on.
sourcepub async fn info(&self) -> Result<SystemInfo>
pub async fn info(&self) -> Result<SystemInfo>
Returns system information about Docker instance that is running
sourcepub async fn ping(&self) -> Result<PingInfo>
pub async fn ping(&self) -> Result<PingInfo>
This is a dummy endpoint you can use to test if the server is accessible
sourcepub fn events<'docker>(
&'docker self,
opts: &EventsOpts
) -> impl Stream<Item = Result<EventMessage>> + Unpin + 'docker
pub fn events<'docker>( &'docker self, opts: &EventsOpts ) -> impl Stream<Item = Result<EventMessage>> + Unpin + 'docker
Returns a stream of Docker events
sourcepub async fn data_usage(
&self,
opts: &SystemDataUsageOpts
) -> Result<SystemDataUsage200Response>
pub async fn data_usage( &self, opts: &SystemDataUsageOpts ) -> Result<SystemDataUsage200Response>
Returns data usage of this Docker instance
source§impl Docker
impl Docker
sourcepub fn new(uri: impl AsRef<str>) -> Result<Self>
pub fn new(uri: impl AsRef<str>) -> Result<Self>
Creates a new Docker instance by automatically choosing appropriate connection type based
on provided uri
.
Supported schemes are:
unix://
only works when build target isunix
, otherwise returns an Errortcp://
http://
To create a Docker instance utilizing TLS use explicit Docker::tls
constructor (this requires tls
feature enabled).
This creates an unversioned connector that’ll use the latest server version, to use a specific version see
Docker::unix_versioned
.
sourcepub fn new_versioned(
uri: impl AsRef<str>,
version: impl Into<ApiVersion>
) -> Result<Self>
pub fn new_versioned( uri: impl AsRef<str>, version: impl Into<ApiVersion> ) -> Result<Self>
Same as Docker::new
but the API version can be explicitly specified.
sourcepub fn unix(socket_path: impl AsRef<Path>) -> Self
Available on Unix only.
pub fn unix(socket_path: impl AsRef<Path>) -> Self
Creates a new docker instance for a docker host listening on a given Unix socket.
socket_path
is the part of URI that comes after the unix://
. For example a URI unix:///run/docker.sock
has a
socket_path
== “/run/docker.sock”.
This creates an unversioned connector that’ll use the latest server version, to use a specific version see
Docker::unix_versioned
.
sourcepub fn unix_versioned(
socket_path: impl AsRef<Path>,
version: impl Into<ApiVersion>
) -> Self
Available on Unix only.
pub fn unix_versioned( socket_path: impl AsRef<Path>, version: impl Into<ApiVersion> ) -> Self
Same as Docker::unix
but the API version can be explicitly specified.
sourcepub fn tls(
host: impl AsRef<str>,
cert_path: impl AsRef<Path>,
verify: bool
) -> Result<Self>
Available on crate feature tls
only.
pub fn tls( host: impl AsRef<str>, cert_path: impl AsRef<Path>, verify: bool ) -> Result<Self>
tls
only.Creates a new docker instance for a docker host listening on a given TCP socket host
.
host
is the part of URI that comes after tcp://
or http://
or https://
schemes,
also known as authority part.
cert_path
specifies the base path in the filesystem containing a certificate (cert.pem
)
and a key (key.pem
) that will be used by the client. If verify is true
a CA file will be
added (ca.pem
) to the connector.
Returns an error if the provided host will fail to parse as URL or reading the certificate files will fail.
This creates an unversioned connector that’ll use the latest server version, to use a specific version see
Docker::unix_versioned
.
sourcepub fn tls_versioned(
host: impl AsRef<str>,
version: impl Into<ApiVersion>,
cert_path: impl AsRef<Path>,
verify: bool
) -> Result<Self>
Available on crate feature tls
only.
pub fn tls_versioned( host: impl AsRef<str>, version: impl Into<ApiVersion>, cert_path: impl AsRef<Path>, verify: bool ) -> Result<Self>
tls
only.Same as Docker::tls
but the API version can be explicitly specified.
sourcepub fn tcp(host: impl AsRef<str>) -> Result<Self>
pub fn tcp(host: impl AsRef<str>) -> Result<Self>
Creates a new docker instance for a docker host listening on a given TCP socket host
.
host
is the part of URI that comes after tcp://
or http://
schemes, also known as
authority part.
TLS is supported with feature tls
enabled through Docker::tls constructor.
Returns an error if the provided host will fail to parse as URL.
This creates an unversioned connector that’ll use the latest server version, to use a specific version see
Docker::unix_versioned
.
sourcepub fn tcp_versioned(
host: impl AsRef<str>,
version: impl Into<ApiVersion>
) -> Result<Self>
pub fn tcp_versioned( host: impl AsRef<str>, version: impl Into<ApiVersion> ) -> Result<Self>
Same as Docker::tcp
but the API version can be explicitly specified.
sourcepub fn containers(&self) -> Containers
pub fn containers(&self) -> Containers
Exports an interface for interacting with Docker containers
sourcepub async fn adjust_api_version(&mut self) -> Result<()>
pub async fn adjust_api_version(&mut self) -> Result<()>
Verifies the API version returned by the server and adjusts the version used by this client in future requests.