0

我目前正在尝试构建和部署一个 dockerized Go 项目,该项目是从使用 Concourse 的 Git 存储库中提取的。

给你一些关于我当前设置的背景:

  • 我设置了两个 AWS Lightsail 实例,它们都使用 Docker 容器为 Concourse 提供服务。
  • 其中一个实例为 Web 节点提供服务,另一个用作连接到 Web 节点的工作节点。

我当前的管道如下所示:

resources:
- name: zsu-wasserlabor-api-repo
  type: git
  webhook_token: TOP_SECRET
  source:
    uri: git@github.com:lennartschoch/zsu-wasserlabor-api
    branch: master
    private_key: TOP_SECRET

jobs:
- name: build-api
  plan:
  - get: zsu-wasserlabor-api-repo
    trigger: true
  - task: build
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: alpine}
      inputs:
      - name: zsu-wasserlabor-api-repo
      run:
        path: sh
        args: 
        - -c
        - |
          cd zsu-wasserlabor-api-repo
          docker-compose build

问题是 docker-compose 没有安装。

我觉得我在做一些根本错误的事情。谁能给我一个提示?

最好的,

伦纳特

4

1 回答 1

2

上面描述的管道指定它应该使用alpine图像,而图像上没有docker-compose。因此,您将需要找到已docker-compose安装在其上的图像,但即便如此,您仍需要采取其他步骤才能使其在 Concourse 中工作(有关更多详细信息,请参阅此链接)。

幸运的是,有人提供了一个图像来处理额外的步骤,你可以在这里找到一个示例管道:https ://github.com/meAmidos/dcind


话虽如此,如果您只是尝试构建 Docker 映像,则可以改用docker -image-resource并指定 Dockerfile。

于 2019-08-08T13:39:14.430 回答