mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-21 06:53:34 +00:00
Stopping Docker containers and network with container name and not project name (#1819)
This commit is contained in:
parent
7d99d02f22
commit
be1c4d4833
@ -31,8 +31,6 @@ logger = logging.getLogger(__name__)
|
||||
logging.getLogger("urllib3").setLevel(logging.WARN)
|
||||
min_memory_limit = 3 * 1024 * 1024 * 1000
|
||||
calc_gb = 1024 * 1024 * 1000
|
||||
local_metadata = "com.docker.compose.project=local-metadata"
|
||||
release = "com.docker.compose.project=tmp"
|
||||
# Configure logger.
|
||||
BASE_LOGGING_FORMAT = (
|
||||
"[%(asctime)s] %(levelname)-8s {%(name)s:%(lineno)d} - %(message)s"
|
||||
@ -129,19 +127,6 @@ def report(config: str) -> None:
|
||||
) from exc
|
||||
|
||||
|
||||
def get_list(docker_type, all_check: bool = None):
|
||||
filter_kwargs = {
|
||||
"filters": {"label": local_metadata},
|
||||
}
|
||||
if all_check:
|
||||
filter_kwargs["all"] = all_check
|
||||
stop_containers = docker_type.list(**filter_kwargs)
|
||||
if len(stop_containers) == 0:
|
||||
filter_kwargs["filters"] = {"label": release}
|
||||
return docker_type.list(**filter_kwargs)
|
||||
return stop_containers
|
||||
|
||||
|
||||
@metadata.command()
|
||||
@click.option("--start", help="Start release Docker containers", is_flag=True)
|
||||
@click.option("--stop", help="Stop Docker containers (local and release)", is_flag=True)
|
||||
@ -245,19 +230,20 @@ def docker(start, stop, clean, type, path) -> None:
|
||||
fg="bright_magenta",
|
||||
)
|
||||
elif stop:
|
||||
for container in get_list(client.containers):
|
||||
logger.info(f"Stopping {container.name}")
|
||||
container.stop()
|
||||
for container in client.containers.list():
|
||||
if "openmetadata_" in container.name:
|
||||
logger.info(f"Stopping {container.name}")
|
||||
container.stop()
|
||||
elif clean:
|
||||
logger.info("Removing Containers")
|
||||
for container in get_list(client.containers, True):
|
||||
container.remove(v=True, force=True)
|
||||
logger.info("Removing Volumes")
|
||||
for volume in get_list(client.volumes):
|
||||
volume.remove(force=True)
|
||||
|
||||
for container in client.containers.list({all: True}):
|
||||
if "openmetadata_" in container.name:
|
||||
container.remove(v=True, force=True)
|
||||
logger.info("Removing Networks")
|
||||
for network in get_list(client.networks):
|
||||
network.remove()
|
||||
for network in client.networks.list():
|
||||
if "app_net" in network.name:
|
||||
network.remove()
|
||||
except (ImportError, ModuleNotFoundError):
|
||||
click.secho(
|
||||
"Docker package not found, can you try `pip install 'openmetadata-ingestion[docker]'`",
|
||||
|
Loading…
x
Reference in New Issue
Block a user