Докер пользовательских данных CoreOS AWS, запускаемый при запуске, не запускается

Я пытаюсь настроить CoreOS на AWS для выполнения определенных команд при загрузке, чтобы загрузить информационный архив нашего кластера DCOS и запустить содержащиеся в нем сценарии. Эти сценарии помогают добавить экземпляр в качестве «агента» в наш кластер DC / OS.

Однако мне кажется, что мне не удается запустить команды docker run. Я вижу, что пользовательские данные создают выходной файл tee (который остается пустым), а также каталог / opt / dcos_install_tmp / (также остается пустым).

Команды docker run здесь загружают контейнер «awscli», извлекают пакеты из S3 (используя учетные данные профиля экземпляра IAM) и передают их файловой системе CoreOS.

Установка AWS CLI на CoreOS показалась непростой (нет диспетчера пакетов, нет питона), поэтому мне пришлось прибегнуть к этому.

Если я вхожу в экземпляр и запускаю те же команды, помещая их в скрипт, у меня не возникает абсолютно никаких проблем.

Я проверял "journalctl --identifier = coreos-cloudinit" и не нашел ничего, что указывало бы на проблемы. Он просто сообщает:

 15:58:34 Parsing user-data as script

В / var / log / нет файла журнала загрузки для CoreOS, в отличие от других AMI.

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

Вот мои пользовательские данные (которые я публикую как текст во время загрузки экземпляра):

#!/bin/bash

/usr/bin/docker run -it --name cli governmentpaas/awscli aws s3 cp s3://<bucket>/dcos/dcos_preconfig.sh /root && /usr/bin/docker cp cli:/root/dcos_preconfig.sh . && /usr/bin/docker rm cli | tee -a /root/userdatalog.txt

/usr/bin/docker run -it --name cli governmentpaas/awscli aws s3 cp s3://<bucket>/dcos/dcos-install.tar /root && /usr/bin/docker cp cli:/root/dcos-install.tar . && /usr/bin/docker rm cli | tee -a /root/userdatalog.txt

sudo mkdir -p /opt/dcos_install_tmp

sudo tar xf dcos-install.tar -C /opt/dcos_install_tmp | tee -a /root/userdatalog.txt

sudo /bin/bash /opt/dcos_install_tmp/dcos_install.sh slave | tee -a /root/userdatalog.txt

person urover    schedule 20.10.2016    source источник
comment
Вы когда-нибудь догадывались об этом? У меня аналогичная проблема с Digital Ocean. Мой запуск докера также, похоже, не выполняется, хотя остальная часть моего скрипта работает. stackoverflow.com/questions/40924883/   -  person M1LKYW4Y    schedule 02.12.2016
comment
Я сдался и перешел на CentOS. Хотелось бы, чтобы CoreOS работала на нас.   -  person urover    schedule 02.12.2016


Ответы (1)


Удалите флаг -t из команды запуска докера.

У меня была аналогичная проблема: DigitalOcean: Как запустить команду Docker на вновь созданной капле через Java API Проблема оказалась в флаге -t в команде запуска docker. По-видимому, это не работает, потому что это не терминал или что-то в этом роде. Снимите флаг, и все будет нормально.

person M1LKYW4Y    schedule 02.12.2016