Использование образа докера на Wercker

Я пытаюсь использовать Wercker, чтобы в конечном итоге преобразовать файлы libreoffice в pdf, хранящиеся в частном репозитории Github. На Dockerhub есть несколько образов Docker, которые содержат libreoffice, например xcgd/libreoffice, который имеет этот dockerfile.

Я новичок как в Docker, так и в Wercker, поэтому я решил настроить минимальный Wercker.yml, чтобы начать с (ниже):

box: xcgd/libreoffice:latest
build:
    steps:
    - script:
        name: test python
        code: echo 123
deploy:
    steps:
    - script:
        name: my deploy script
        code: echo 123

Сборка Wercker останавливается на этапе «настройка среды», последняя строка

Status: Downloaded newer image for xcgd/libreoffice:latest

И сборка в конечном итоге истекает с

«Время ожидания команды истекло после отсутствия ответа» через 12 минут 49 секунд.

Что я здесь делаю неправильно?

Благодарен за ответы!


person Björn Johansson    schedule 17.03.2016    source источник
comment
Кажется, есть еще один вопрос сообщение о проблеме с похожими симптомами.   -  person Björn Johansson    schedule 17.03.2016


Ответы (1)


Ваш wercker.yml выглядит хорошим началом, за исключением того, что Docker сложен, и его использование на Wercker требует определенных «заклинаний» :-)

Похоже, что выбранный вами контейнер Docker определяет этот скрипт startoo.sh как ENTRYPOINT, который в основном является стартовой командой при загрузке контейнера, см. подробности в документации по Dockerfile.

Проблема в том, что Wercker нужен ENTRYPOINT, который может запускать оболочку, как показано здесь, в документации Wercker< /а>.

Как указано в нижней части этой страницы документации Wercker, хорошая новость заключается в том, что вы можете переопределите ENTRYPOINT в вашем сценарии wercker.yml.

Попробуйте изменить верхнюю часть wercker.yml на что-то вроде:

box: 
  id: xcgd/libreoffice:latest
  entrypoint: /bin/bash -c

build:
  ...

Это должно сработать для выполнения ваших текущих тестовых шагов Wercker script, но теперь, конечно, исполняемый файл libreoffice не будет работать в контейнере, поэтому позже вам придется запустить его, запустив этот скрипт /opt/libreoffice/startoo.sh самостоятельно.

person ocean    schedule 01.04.2016