Как проверить, существует ли программная машина докеров?
Я использую docker-machine
для управления облачными серверами. Я пишу несколько сценариев bash для автоматизации некоторых задач. Возникает вопрос: "Как проверить bash script, если докер-машина с определенным именем уже существует?". Мне нужно некоторое выражение, чтобы вернуть true, если оно существует, и false, если это не так.
Спасибо
Ответы
Ответ 1
Просто запустите его через grep, если regexp достаточно для вас. Например, если у вас есть машина с именем foo:
$ docker-machine ls -q | grep '^foo$'
Должен работать и возвращать 0. Каретка соответствует началу строки, и пространство позволяет избежать частичных совпадений. Если он не соответствует, вы получите ненулевой код возврата.
Ответ 2
Вы можете использовать что-то вроде следующего:
docker-machine status some-machine 2> /dev/null || echo "Machine does not exists"
Ответ 3
Не гуру сценариев, но я бы сделал "docker-machine help
", если эта команда запускается, а код выхода ($?) равен нулю, исполняемый файл док-машины доступен и работает.
Если код возврата равен 127 (обычно это возвращается bash для не найденной команды) или ничего, кроме ненулевого, вы можете предположить, что либо докер-машина не установлена, либо работает неправильно.