Skip to content

Commit ae5010a

Browse files
vcvitalyVitalii Chura
andauthored
docker-machine: get full remote daemon URL, to allow for use of custom daemon port (testcontainers#2769) (testcontainers#3237)
Co-authored-by: Vitalii Chura <c-vitalii.chura@hulu.com>
1 parent 3bf8d76 commit ae5010a

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

core/src/main/java/org/testcontainers/dockerclient/DockerMachineClientProviderStrategy.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ private TransportConfig resolveTransportConfig() throws InvalidConfigurationExce
3737

3838
DockerMachineClient.instance().ensureMachineRunning(machineName);
3939

40-
String dockerDaemonIpAddress = DockerMachineClient.instance().getDockerDaemonIpAddress(machineName);
40+
String dockerDaemonUrl = DockerMachineClient.instance().getDockerDaemonUrl(machineName);
4141

42-
log.info("Docker daemon IP address for docker machine {} is {}", machineName, dockerDaemonIpAddress);
42+
log.info("Docker daemon URL for docker machine {} is {}", machineName, dockerDaemonUrl);
4343

4444
return TransportConfig.builder()
45-
.dockerHost(URI.create("tcp://" + dockerDaemonIpAddress + ":2376"))
45+
.dockerHost(URI.create(dockerDaemonUrl))
4646
.sslConfig(
4747
new LocalDirectorySSLConfig(
4848
Paths.get(System.getProperty("user.home") + "/.docker/machine/certs/").toString()

core/src/main/java/org/testcontainers/utility/DockerMachineClient.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,18 @@ public void ensureMachineRunning(@NonNull String machineName) {
7979
}
8080
}
8181

82+
/**
83+
* @deprecated Use getDockerDaemonUrl(@NonNull String machineName) for connection to docker-machine
84+
*/
85+
@Deprecated
8286
public String getDockerDaemonIpAddress(@NonNull String machineName) {
8387
return runShellCommand(executableName, "ip", machineName);
8488
}
8589

90+
public String getDockerDaemonUrl(@NonNull String machineName) {
91+
return runShellCommand(executableName, "url", machineName);
92+
}
93+
8694
public boolean isMachineRunning(String machineName) {
8795
String status = runShellCommand("docker-machine", "status", machineName);
8896
return status.trim().equalsIgnoreCase("running");

0 commit comments

Comments
 (0)