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 new file mode 100644 index 00000000..6cbed886 --- /dev/null +++ b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java @@ -0,0 +1,26 @@ +package io.openvidu.server.utils; + +import java.io.IOException; +import java.util.List; +import java.util.Map; + +import com.github.dockerjava.api.model.Bind; +import com.github.dockerjava.api.model.Volume; + +public interface DockerManager { + + public DockerManager init(); + + public String runContainer(String image, String containerName, String user, List volumes, List binds, + String networkMode, List envs, List command, Long shmSize, boolean privileged, + Map labels) throws Exception; + + public void removeContainer(String containerId, boolean force); + + public void runCommandInContainerSync(String containerId, String command, int secondsOfWait) throws IOException; + + public void runCommandInContainerAsync(String containerId, String command) throws IOException; + + public void waitForContainerStopped(String containerId, int secondsOfWait) throws Exception; + +}