Как проверить, существует ли программный докер?

Я использую docker-machine для управления облачными серверами. Я пишу несколько скриптов bash для автоматизации некоторых задач. Вопрос: «Как проверить в bash-скрипте, существует ли уже докер с определенным именем?». Мне нужно какое-то выражение, чтобы вернуть true, если оно существует, и false, если его нет.

Спасибо

12 голосов | спросил wildsurfer 10 J0000006Europe/Moscow 2015, 17:15:29

3 ответа


0

Просто запустите его через grep, если регулярное выражение достаточно для вас. Например, если у вас есть машина с именем foo:

$ docker-machine ls -q | grep '^foo$'

Должен работать и возвращать 0. Каретка соответствует началу строки, а пробел избегает частичных совпадений Если он не совпадает, вы получите ненулевой код возврата.

ответил Adrian Mouat 10 J0000006Europe/Moscow 2015, 21:25:04
0

Вы можете использовать что-то вроде следующего:

docker-machine status some-machine 2> /dev/null || echo "Machine does not exists"
ответил Luís Bianchin 3 ThuEurope/Moscow2015-12-03T16:05:19+03:00Europe/Moscow12bEurope/MoscowThu, 03 Dec 2015 16:05:19 +0300 2015, 16:05:19
0

Не гуру скриптинга, но я бы сделал "docker-machine help", если эта команда выполняется и код выхода ($?) ноль, исполняемый файл Docker-машины доступен и функционирует. Если код возврата 127 (обычно это возвращается командой bash для команды not found) или что-то отличное от нуля, вы можете предположить, что либо docker-machine не установлена, либо работает неправильно.

ответил Yogesh_D 10 J0000006Europe/Moscow 2015, 20:01:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132