diff --git a/src/docker.rs b/src/docker.rs index cd8b319..af90896 100644 --- a/src/docker.rs +++ b/src/docker.rs @@ -6,20 +6,33 @@ use crate::{config::Config, error, structs::image::Image}; fn create_docker_client(socket: Option<&String>) -> Docker { let client: Result = match socket { - Some(sock) => Docker::connect_with_local( - sock, - 120, - &ClientVersion { - major_version: 1, - minor_version: 44, - }, - ), - None => Docker::connect_with_local_defaults(), + Some(sock) => { + if sock.starts_with("unix://") { + Docker::connect_with_unix( + sock, + 120, + &ClientVersion { + major_version: 1, + minor_version: 44, + }, + ) + } else { + Docker::connect_with_http( + sock, + 120, + &ClientVersion { + major_version: 1, + minor_version: 44, + }, + ) + } + } + None => Docker::connect_with_unix_defaults(), }; match client { Ok(d) => d, - Err(e) => error!("Failed to connect to docker socket!\n{}", e), + Err(e) => error!("Failed to connect to docker daemon!\n{}", e), } }