Docker Compose on Cloud Init Azure

Существует масштабируемый набор виртуальных машин, работающий с пользовательским образом Centos 7. Требуется для запуска нижеприведенного сценария в качестве сценария облачной инициализации при масштабировании набора VM Scale. Но ВМ масштабируется, скрипт не выполняется. С сервера также не удалось найти историю выполнения. Это команда, которую я использовал,

#cloud-config
runcmd:
– cd /srv/compose/composeforsvaret/
– docker-compose stop
- docker-compose up -d
final_message: "Your Docker server is now ready."

person vish    schedule 05.11.2020    source источник
comment
Где у тебя этот скрипт? Это в конвейере, или задача cron на вашей виртуальной машине, или ...?   -  person Casper Dijkstra    schedule 05.11.2020
comment
@CasperDijkstra Я добавил этот сценарий в поле сценария облачной инициализации на портале Azure. Операционная система ›Окно сценария   -  person vish    schedule 05.11.2020


Ответы (1)


Команды не выполняются, потому что синтаксис не распознается.
Я прочитал в документации по облачной инициализации о runcmd

список должен быть правильным yaml, поэтому вы должны заключить в кавычки любые символы, которые yaml съест (':' может быть проблематичным)

Это должно помочь:

runcmd:
– [ cd, /srv/compose/composeforsvaret, / ] // or - [ sh, -c , "cd /srv/compose/composeforsvaret" ]
– [ sh, -c, "docker-compose stop" ]
- [ sh, -c, "docker-compose up -d" ]
final_message: "Your Docker server is now ready."

Также имейте в виду, что runcmd запускается только во время первой загрузки, поэтому в зависимости от вашей цели вам следует подумать о bootcmd!

person Casper Dijkstra    schedule 05.11.2020