@@ -5,7 +5,7 @@ use http::Uri;
5
5
use shiplift:: {
6
6
ContainerOptions , Docker , LogsOptions , NetworkCreateOptions , PullOptions , RmContainerOptions ,
7
7
} ;
8
- use std:: { env :: VarError , net:: Ipv4Addr , path:: Path } ;
8
+ use std:: { net:: Ipv4Addr , path:: Path } ;
9
9
use tokio:: prelude:: stream:: Stream ;
10
10
11
11
pub mod bitcoin;
@@ -186,16 +186,20 @@ fn parse_ip(uri: String) -> anyhow::Result<Ipv4Addr> {
186
186
Ok ( ip)
187
187
}
188
188
189
+ #[ cfg( feature = "windows" ) ]
189
190
fn new_docker_client ( ) -> anyhow:: Result < Docker > {
190
- let uri = match std:: env:: var ( "DOCKER_HOST" ) {
191
- Ok ( docker_host) => https_docker_host ( docker_host) ?,
192
- Err ( VarError :: NotPresent ) => Uri :: from_static ( "unix://var/run/docker.sock ") ,
193
- Err ( e ) => return Err ( anyhow :: Error :: from ( e ) ) ,
194
- } ;
191
+ match std:: env:: var ( "DOCKER_HOST" ) {
192
+ Ok ( docker_host) => Ok ( Docker :: host ( https_docker_host ( docker_host) ?) ) ,
193
+ _ => anyhow :: bail! ( "DOCKER_HOST must be set in windows ") ,
194
+ }
195
+ }
195
196
196
- Ok ( Docker :: host ( uri) )
197
+ #[ cfg( feature = "unix" ) ]
198
+ fn new_docker_client ( ) -> anyhow:: Result < Docker > {
199
+ Ok ( Docker :: unix ( "/var/run/docker.sock" ) )
197
200
}
198
201
202
+ #[ allow( dead_code) ]
199
203
// In order for to communicate with docker on windows, we need to patch the content of the
200
204
// DOCKER_HOST variable to use `https` as the scheme because hyper-openssl otherwise does not
201
205
// establish a TLS connection.
0 commit comments