--- /dev/null
+import docker
+from EnvsReader import EnvsReader
+from docker.types import Mount
+
+class DockerContainerManager:
+
+ def run_pmmapper_container(self, client_image, container_name, path_to_env, dr_node_ip, mr_ip):
+ client = docker.from_env()
+ environment = EnvsReader().read_env_list_from_file(path_to_env)
+ environment.append("CONFIG_BINDING_SERVICE_SERVICE_HOST=172.18.0.5")
+ environment.append("CONFIG_BINDING_SERVICE_SERVICE_PORT=10000")
+ environment.append("HOSTNAME=pmmapper")
+ client.containers.run(
+ image=client_image,
+ name=container_name,
+ environment=environment,
+ ports={'8081': 8081},
+ network='filesprocessingconfigpmmapper_pmmapper-network',
+ extra_hosts={'dmaap-dr-node': dr_node_ip, 'message-router': mr_ip},
+ user='root',
+ mounts=[Mount(target='/opt/app/pm-mapper/etc/certs/', source='/var/tmp/', type='bind')],
+ detach=True
+ )
+
+ def remove_container(self, container_name):
+ client = docker.from_env()
+ container = client.containers.get(container_name)
+ container.stop()
+ container.remove()