Wait for the container name to be truly freed before returning
This commit is contained in:
parent
badba4bd31
commit
070143f3fe
|
|
@ -8,6 +8,8 @@ pre-commit:
|
||||||
- shell
|
- shell
|
||||||
only:
|
only:
|
||||||
- merge_requests
|
- merge_requests
|
||||||
|
before_script:
|
||||||
|
- pip install pre-commit
|
||||||
script:
|
script:
|
||||||
- pre-commit run --all --show-diff-on-failure --verbose --color always
|
- pre-commit run --all --show-diff-on-failure --verbose --color always
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
import time
|
||||||
|
|
||||||
import docker
|
import docker
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
|
|
@ -86,6 +88,15 @@ def run_container(
|
||||||
if detach:
|
if detach:
|
||||||
logger.debug("Container %s launched." % image_name)
|
logger.debug("Container %s launched." % image_name)
|
||||||
elif auto_remove:
|
elif auto_remove:
|
||||||
|
# Workaround to avoid
|
||||||
|
# "Conflict. The container name xxx is already in use"
|
||||||
|
# Because it seems that the container name is not freed when the
|
||||||
|
# run command completes
|
||||||
|
while client.containers.list(
|
||||||
|
all=True, filters={"name": container_name}
|
||||||
|
):
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
logger.debug("Container closed.")
|
logger.debug("Container closed.")
|
||||||
|
|
||||||
return container
|
return container
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user