Docker SDK Python запустить контейнер, если он не запущен - PullRequest
0 голосов
/ 27 апреля 2020

Моя цель - запускать контейнер, только если он еще не запущен.

Я пытался использовать client.containers.get (containername) и проверять, имеет ли он значение None, но это не сработает. потому что он возвращает сообщение об ошибке, а не bool.

if client.containers.get('containername') is not None:
   client.containeres.run("redis:latest",name="containerename", detach=True, ports={'6379/tcp': ('localhost', 6379)})

Я получаю:

docker.error.notFound: 404 Client Error: Not Found("No such container: containername")

Есть ли какой-нибудь способ, которым я могу проверить, если контейнер Redis уже запущен и только запустить контейнер, если нет?

1 Ответ

2 голосов
/ 27 апреля 2020

Как насчет использования container.list ?

if len(client.containers.list(filters = {'name' : 'containername'})) == 0:
  ...
...