在Wercker上使用docker镜像

时间:2016-03-17 17:44:28

标签: docker dockerhub wercker

我正在尝试使用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秒后。

我在这里做错了什么?

感谢答案!

1 个答案:

答案 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可执行文件不会在容器上运行,所以稍后您必须启动它自己运行该脚本{。}}。