@@ -9,8 +9,8 @@ use bollard::Docker;
99use bollard:: errors:: Error as BollardError ;
1010use bollard:: models:: {
1111 ContainerCreateBody , ContainerSummary , ContainerSummaryStateEnum , DeviceRequest ,
12- EndpointSettings , HostConfig , Mount , MountTypeEnum , NetworkCreateRequest , NetworkingConfig ,
13- RestartPolicy , RestartPolicyNameEnum , SystemInfo ,
12+ EndpointSettings , HostConfig , NetworkCreateRequest , NetworkingConfig , RestartPolicy ,
13+ RestartPolicyNameEnum , SystemInfo ,
1414} ;
1515use bollard:: query_parameters:: {
1616 CreateContainerOptionsBuilder , CreateImageOptions , DownloadFromContainerOptionsBuilder ,
@@ -865,28 +865,22 @@ impl ComputeDriver for DockerComputeDriver {
865865 }
866866}
867867
868- fn build_mounts ( config : & DockerDriverRuntimeConfig ) -> Vec < Mount > {
869- let mut mounts = vec ! [ bind_mount (
870- & config . supervisor_bin ,
871- SUPERVISOR_MOUNT_PATH ,
872- true ,
868+ fn build_binds ( config : & DockerDriverRuntimeConfig ) -> Vec < String > {
869+ let mut binds = vec ! [ format! (
870+ "{}:{}:ro,z" ,
871+ config . supervisor_bin . display ( ) ,
872+ SUPERVISOR_MOUNT_PATH
873873 ) ] ;
874874 if let Some ( tls) = & config. guest_tls {
875- mounts. push ( bind_mount ( & tls. ca , TLS_CA_MOUNT_PATH , true ) ) ;
876- mounts. push ( bind_mount ( & tls. cert , TLS_CERT_MOUNT_PATH , true ) ) ;
877- mounts. push ( bind_mount ( & tls. key , TLS_KEY_MOUNT_PATH , true ) ) ;
878- }
879- mounts
880- }
881-
882- fn bind_mount ( source : & Path , target : & str , read_only : bool ) -> Mount {
883- Mount {
884- target : Some ( target. to_string ( ) ) ,
885- source : Some ( source. display ( ) . to_string ( ) ) ,
886- typ : Some ( MountTypeEnum :: BIND ) ,
887- read_only : Some ( read_only) ,
888- ..Default :: default ( )
875+ binds. push ( format ! ( "{}:{}:ro,z" , tls. ca. display( ) , TLS_CA_MOUNT_PATH ) ) ;
876+ binds. push ( format ! (
877+ "{}:{}:ro,z" ,
878+ tls. cert. display( ) ,
879+ TLS_CERT_MOUNT_PATH
880+ ) ) ;
881+ binds. push ( format ! ( "{}:{}:ro,z" , tls. key. display( ) , TLS_KEY_MOUNT_PATH ) ) ;
889882 }
883+ binds
890884}
891885
892886fn build_environment ( sandbox : & DriverSandbox , config : & DockerDriverRuntimeConfig ) -> Vec < String > {
@@ -999,7 +993,7 @@ fn build_container_create_body(
999993 nano_cpus : resource_limits. nano_cpus ,
1000994 memory : resource_limits. memory_bytes ,
1001995 device_requests : docker_gpu_device_requests ( spec. gpu ) ,
1002- mounts : Some ( build_mounts ( config) ) ,
996+ binds : Some ( build_binds ( config) ) ,
1003997 restart_policy : Some ( RestartPolicy {
1004998 name : Some ( RestartPolicyNameEnum :: UNLESS_STOPPED ) ,
1005999 maximum_retry_count : None ,
0 commit comments