diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java index c59b9abc..4080d915 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java @@ -175,7 +175,7 @@ public class ComposedRecordingService extends RecordingService { List binds = new ArrayList<>(); binds.add(bind1); containerId = dockerManager.runContainer(container, containerName, null, volumes, binds, "host", envs, null, - 536870912L, false); + 536870912L, false, null); containers.put(containerId, containerName); } catch (Exception e) { this.cleanRecordingMaps(recording); diff --git a/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java index e57eecfd..8d975438 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java @@ -20,11 +20,13 @@ package io.openvidu.server.utils; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import javax.ws.rs.ProcessingException; +import com.github.dockerjava.api.command.InspectContainerResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -104,7 +106,8 @@ public class DockerManager { } public String runContainer(String container, String containerName, String user, List volumes, - List binds, String networkMode, List envs, List command, Long shmSize, boolean privileged) + List binds, String networkMode, List envs, List command, Long shmSize, boolean privileged, + Map labels) throws Exception { CreateContainerCmd cmd = dockerClient.createContainerCmd(container).withEnv(envs); @@ -127,6 +130,10 @@ public class DockerManager { hostConfig.withBinds(binds); } + if (labels != null) { + cmd.withLabels(labels); + } + if (command != null) { cmd.withCmd(command); } @@ -217,6 +224,11 @@ public class DockerManager { return containerIds; } + public Map getLabels(String containerId) { + InspectContainerResponse containerInfo = dockerClient.inspectContainerCmd(containerId).exec(); + return containerInfo.getConfig().getLabels(); + } + static public String getDockerGatewayIp() { try { return CommandExecutor.execCommand(5000, "/bin/sh", "-c",