mirror of
https://github.com/thib8956/nginx-proxy
synced 2025-08-23 16:01:57 +00:00
fix: Don't remove pytest container when running with host network mode
When the container runs with host networking instead of the default bridge, the `$HOSTNAME` / `/etc/hostname` reflects that of the host instead of the container ID , which causes the pytest container to get removed accidentally. Using a container name instead we can more reliably target the container to avoid removing it, should we need to run with host networking instead.
This commit is contained in:
@@ -28,7 +28,9 @@ FORCE_CONTAINER_IPV6 = False # ugly global state to consider containers' IPv6 a
|
||||
|
||||
|
||||
docker_client = docker.from_env()
|
||||
test_container = socket.gethostname()
|
||||
|
||||
# Name of pytest container to reference if it's being used for running tests
|
||||
test_container = 'nginx-proxy-pytest'
|
||||
|
||||
|
||||
###############################################################################
|
||||
@@ -260,7 +262,7 @@ def restore_urllib_dns_resolver(getaddrinfo_func):
|
||||
|
||||
def remove_all_containers():
|
||||
for container in docker_client.containers.list(all=True):
|
||||
if PYTEST_RUNNING_IN_CONTAINER and container.id.startswith(test_container):
|
||||
if PYTEST_RUNNING_IN_CONTAINER and container.name == test_container:
|
||||
continue # pytest is running within a Docker container, so we do not want to remove that particular container
|
||||
logging.info(f"removing container {container.name}")
|
||||
container.remove(v=True, force=True)
|
||||
|
Reference in New Issue
Block a user