首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drone.io |创建docker-compose设置

Drone.io |创建docker-compose设置
EN

Stack Overflow用户
提问于 2017-11-16 04:20:06
回答 2查看 1.9K关注 0票数 0

我无法使用GitHub连接到Drone.io。这个应用程序有几个问题:

1) drone agent无法连接到服务器

代码语言:javascript
复制
dodge@comp:$drone agent    
28070:M 15 Nov 22:04:01.906 * connecting to server http://<my_ip>
28070:M 15 Nov 22:04:01.906 # connection failed, retry in 15s. websocket.Dial http://<my_ip>: bad scheme

2)无法将Postgresql添加到docker-compose。当我从您的site添加此文本时

代码语言:javascript
复制
DRONE_DATABASE_DRIVER: postgres
DRONE_DATABASE_DATASOURCE: postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable

我有这个错误

代码语言:javascript
复制
INFO: 2017/11/15 19:42:33 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp 172.18.0.2:9000: getsockopt: connection refused"; Reconnecting to {drone-server:9000 <nil>}

3)当我在docker-compose中仅使用服务器和代理时,我会出现以下错误

代码语言:javascript
复制
dodge@comp:$drone server

ERRO[0000] sql: unknown driver "sqlite3" (forgotten import?) 
FATA[0000] database connection failed 

docker-compose.yml

代码语言:javascript
复制
version: '2'
services:
  drone-server:
    image: drone/drone:0.8
    ports:
      - 80:8000
      - 9000
    volumes:
      - /var/lib/drone:/var/lib/drone/
      - ./drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_DEBUG=true
      - DRONE_OPEN=true
      - DRONE_HOST=http://172.18.0.2
      - DRONE_GITHUB=true
      - DRONE_GITHUB_CLIENT=secretid
      - DRONE_GITHUB_SECRET=secretpass
      - DRONE_SECRET=password

  drone-agent:
    image: drone/agent:0.8
    command: agent
    restart: always
    depends_on: [ drone-server ]
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=password

4)我无法在我的项目中启动测试。也许我在设置过程中遗漏了一些东西。

EN

回答 2

Stack Overflow用户

发布于 2017-11-16 05:09:18

$ drone服务器

$无人机代理

我在您的示例中看到了上面的命令。这些命令仅在drone 0.7及更低版本中可用。Drone 0.8使用drone-server和drone-agent二进制文件。这里似乎有一些版本脱节。

连接失败,请在15秒后重试。websocket.Dial

drone 0.7及更低版本使用websockets。我在docker-compose示例中看到你使用的是drone 0.8,它使用http2和grpc。您的配置与您正在使用的无人机版本之间似乎存在断开连接。

sql:未知驱动程序"sqlite3“

当您在禁用CGO的情况下编译drone时,或使用已在禁用CGO的情况下编译的drone版本时,会发生这种情况。如果CGO被禁用,sqlite3驱动程序不会编译成二进制文件。您是否正在尝试从源代码构建无人机?

grpc: addrConn.resetTransport无法创建客户端传输

此错误来自代理,因此与postgres配置无关。您不应该为代理提供postgres配置,只应为服务器提供postgres配置。

票数 0
EN

Stack Overflow用户

发布于 2017-11-17 17:05:42

代码语言:javascript
复制
version: '2'

services:
  drone-server:
    image: drone/drone:latest
    ports:
      - 80:8000
      - 9000:9000
    volumes:
      - /var/lib/drone:/var/lib/drone/
      - ./drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_DEBUG=true
      - DRONE_HOST=http://<container_ip_server>
      - DRONE_OPEN=true
      - DRONE_GITHUB=true
      - DRONE_GITHUB_CLIENT=<client_git>
      - DRONE_GITHUB_SECRET=<secret_git>
      - DRONE_SECRET=<secret_drone>
      - DRONE_GITHUB_MERGE_REF=true 

  drone-agent:
    image: drone/agent:latest
    command: agent
    restart: always
    depends_on: [ drone-server ]
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=drone-server:9000
      - DRONE_SECRET=<drone_secret>

这个很好用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47316542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档