我正在尝试使用Wercker最终将libreoffice文件转换为存储在私有Github存储库中的pdf。 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秒后。
我在这里做错了什么?
感谢答案!
答案 0 :(得分:1)
你的wercker.yml
看起来是一个好的开始,除了Docker很棘手,在Wercker上使用它需要特定的“咒语”: - )
看起来您选择的Docker容器将this startoo.sh
script定义为ENTRYPOINT
,这基本上是加载容器时的起始命令,请参阅Dockerfile docs for details。
麻烦的是,Wercker需要一个可以运行shell的ENTRYPOINT
,如here in the Wercker docs所示。
正如Wercker docs page底部指出的那样,好消息是您可以覆盖ENTRYPOINT
脚本中的wercker.yml
。
尝试将wercker.yml
的顶部更改为:
box:
id: xcgd/libreoffice:latest
entrypoint: /bin/bash -c
build:
...
这应该可以运行您当前的Wercker script
测试步骤,但是现在当然libreoffice
可执行文件不会在容器上运行,所以稍后您必须启动它自己运行该脚本{。}}。