【问题标题】:Concourse CI and custom docker-composeConcourse CI 和自定义 docker-compose
【发布时间】:2017-02-24 16:31:04
【问题描述】:

我尝试使用自定义 docker-compose 启动 Concourse CI

version: '2'
services:
    concourse-web:
        image: concourse/concourse
        container_name: concourse-web
        command: web
        network_mode: host
        volumes: ["./keys/web:/concourse-keys"]
        environment:
            CONCOURSE_BASIC_AUTH_USERNAME: concourse
            CONCOURSE_BASIC_AUTH_PASSWORD: changeme
            CONCOURSE_EXTERNAL_URL: http://my.internal.ip:8092
            CONCOURSE_BIND_PORT: 8092
            CONCOURSE_POSTGRES_DATA_SOURCE: |-
                postgres://odoo:odoo@localhost:5432/concourse?sslmode=disable

    concourse-worker:
        image: concourse/concourse
        container_name: concourse-worker
        network_mode: host
        privileged: true
        command: worker
        volumes: ["./keys/worker:/concourse-keys"]
        environment:
            CONCOURSE_BIND_PORT: 8092

并且工作人员无法连接到 Web 部件。 你能帮我解决这个问题吗?

附:数据库postgtresql在主机5432端口启动,连接正常。

工人错误:

{"timestamp":"1487953300.400844336","source":"tsa","message":"tsa.connection.channel.forward-worker.register.failed-to-fetch-containers","log_level":2,"data":{"error":"invalid character '\u003c' looking for beginning of value","remote":"127.0.0.1:57960","session":"4.1.1.582"}}

【问题讨论】:

    标签: docker docker-compose concourse


    【解决方案1】:

    您需要在worker上设置CONCOURSE_TSA_HOST: concourse-web作为环境变量,以便它知道要连接到哪个主机。现在它正在尝试连接到 localhost 上的 Web 部件,但这是不正确的。

    您的配置的另一个问题是您试图通过 localhost:CONCOURSE_POSTGRES_DATA_SOURCE: |- postgres://odoo:odoo@localhost:5432/concourse?sslmode=disable 连接到 Postgres, 但是您的 Postgres 实例正在主机上运行。主机在 docker 容器内的 localhost 上不可用,因为 docker 容器有自己的专用网络。它应该是:

    CONCOURSE_POSTGRES_DATA_SOURCE: |- postgres://odoo:odoo@my.internal.ip:5432/concourse?sslmode=disable

    【讨论】:

      【解决方案2】:

      |- postgres://odoo:odoo@localhost:5432/concourse?sslmode=disable

      应该删除整个前缀。替换为

      CONCOURSE_POSTGRES_DATA_SOURCE: postgres://odoo:odoo@localhost:5432/concourse?sslmode=disable

      【讨论】:

      • 这直接来自 concourse docker 文档,并且完全正确且实用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 2019-05-16
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多