Skip to content

Commit

Permalink
Revert latest changes in Docker service and webdriver creator
Browse files Browse the repository at this point in the history
  • Loading branch information
bonigarcia committed Nov 2, 2023
1 parent cc55c55 commit f6479ba
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 30 deletions.
49 changes: 23 additions & 26 deletions src/main/java/io/github/bonigarcia/wdm/docker/DockerService.java
Original file line number Diff line number Diff line change
Expand Up @@ -209,11 +209,14 @@ public synchronized String startContainer(DockerContainer dockerContainer)
hostConfigBuilder.withNetworkMode(network.get());
}
List<String> exposedPorts = dockerContainer.getExposedPorts();
log.trace("Using exposed ports: {}", exposedPorts);
containerConfigBuilder.withExposedPorts(exposedPorts.stream()
.map(ExposedPort::parse).collect(Collectors.toList()));
hostConfigBuilder.withPortBindings(exposedPorts.stream()
.map(PortBinding::parse).collect(Collectors.toList()));
if (!exposedPorts.isEmpty()) {
log.trace("Using exposed ports: {}", exposedPorts);
containerConfigBuilder.withExposedPorts(exposedPorts.stream()
.map(ExposedPort::parse).collect(Collectors.toList()));
hostConfigBuilder.withPortBindings(exposedPorts.stream()
.map(PortBinding::parse).collect(Collectors.toList()));
hostConfigBuilder.withPublishAllPorts(true);
}
Optional<List<Bind>> binds = dockerContainer.getBinds();
if (binds.isPresent()) {
log.trace("Using binds: {}", binds.get());
Expand Down Expand Up @@ -565,15 +568,10 @@ public DockerContainer startNoVncContainer(String dockerImage,
// pull image
pullImageIfNecessary(cacheKey, dockerImage, browserVersion);

// network
String network = config.getDockerNetwork();

// exposed ports
List<String> exposedPorts = new ArrayList<>();
String dockerNoVncPort = String.valueOf(config.getDockerNoVncPort());
if (!isHost(network)) {
exposedPorts.add(dockerNoVncPort);
}
exposedPorts.add(dockerNoVncPort);

// envs
List<String> envs = new ArrayList<>();
Expand All @@ -584,14 +582,16 @@ public DockerContainer startNoVncContainer(String dockerImage,
String vncPort = String.valueOf(config.getDockerVncPort());
envs.add("VNC_SERVER=" + vncAddress + ":" + vncPort);

// network
String network = config.getDockerNetwork();

// extra hosts
List<String> extraHosts = config.getDockerExtraHosts();

// builder
DockerContainer noVncContainer = DockerContainer
.dockerBuilder(dockerImage).network(network)
.exposedPorts(exposedPorts).extraHosts(extraHosts).envs(envs)
.build();
.dockerBuilder(dockerImage).exposedPorts(exposedPorts)
.network(network).extraHosts(extraHosts).envs(envs).build();

String containerId = startContainer(noVncContainer);

Expand All @@ -612,16 +612,11 @@ public DockerContainer startBrowserContainer(String dockerImage,
// pull image
pullImageIfNecessary(cacheKey, dockerImage, browserVersion);

// network
String network = config.getDockerNetwork();

// exposed ports
List<String> exposedPorts = new ArrayList<>();
String dockerBrowserPort = String
.valueOf(config.getDockerBrowserPort());
List<String> exposedPorts = new ArrayList<>();
if (!isHost(network)) {
exposedPorts.add(dockerBrowserPort);
}
exposedPorts.add(dockerBrowserPort);

// shmSize
long shmSize = config.getDockerMemSizeBytes(config.getDockerShmSize());
Expand Down Expand Up @@ -653,9 +648,7 @@ public DockerContainer startBrowserContainer(String dockerImage,
String dockerVncPort = String.valueOf(config.getDockerVncPort());
if (config.isDockerEnabledVnc()) {
envs.add("ENABLE_VNC=true");
if (!isHost(network)) {
exposedPorts.add(dockerVncPort);
}
exposedPorts.add(dockerVncPort);
}
if (androidEnabled) {
envs.add("QTWEBENGINE_DISABLE_SANDBOX=1");
Expand All @@ -664,12 +657,15 @@ public DockerContainer startBrowserContainer(String dockerImage,
envs.add("DRIVER_ARGS=--whitelisted-ips= --allowed-origins=*");
}

// network
String network = config.getDockerNetwork();

// extra hosts
List<String> extraHosts = config.getDockerExtraHosts();

// builder
DockerBuilder dockerBuilder = DockerContainer.dockerBuilder(dockerImage)
.network(network).exposedPorts(exposedPorts).mounts(mounts)
.exposedPorts(exposedPorts).network(network).mounts(mounts)
.binds(binds).shmSize(shmSize).envs(envs).extraHosts(extraHosts)
.sysadmin();
if (androidEnabled) {
Expand Down Expand Up @@ -734,7 +730,8 @@ public DockerContainer startRecorderContainer(String dockerImage,

// envs
List<String> envs = new ArrayList<>();
String browserAddress = browserContainer.getAddress();
String browserAddress = isHost(network) ? browserContainer.getGateway()
: browserContainer.getAddress();
envs.add("BROWSER_CONTAINER_NAME=" + browserAddress);
Path recordingPath = getRecordingPath(browserContainer);
envs.add("FILE_NAME=" + recordingPath.getFileName().toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,10 @@ public WebDriver createRemoteWebDriver(String remoteUrl,
log.debug("Creating WebDriver object for {} at {} with {}", browserName,
remoteUrl, capabilities);
do {
HttpURLConnection huc = null;
try {
URL url = new URL(remoteUrl);
huc = (HttpURLConnection) url.openConnection();
HttpURLConnection huc = (HttpURLConnection) url
.openConnection();
huc.connect();
int responseCode = huc.getResponseCode();
log.trace("Requesting {} (the response code is {})", remoteUrl,
Expand All @@ -101,7 +101,6 @@ public WebDriver createRemoteWebDriver(String remoteUrl,
+ " seconds creating WebDriver object",
e1);
}
log.debug("Waiting fort {} seconds", POLL_TIME_SEC);
Thread.sleep(TimeUnit.SECONDS.toMillis(POLL_TIME_SEC));
} catch (InterruptedException e2) {
log.warn("Interrupted exception creating WebDriver object",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class DockerCustomImageTest {
WebDriver driver;

WebDriverManager wdm = WebDriverManager.chromedriver().browserInDocker()
.dockerCustomImage("selenoid/vnc:chrome_90.0").enableVnc()
.dockerCustomImage("selenoid/vnc:chrome_118.0").enableVnc()
.enableRecording().viewOnly();

@BeforeEach
Expand Down

0 comments on commit f6479ba

Please sign in to comment.