docker - Drone CI runner 找不到 gitea 服务器
问题描述
我正在尝试使用无人机运行 gitea 服务器。它们目前都托管在同一台 ubuntu 机器上,并且 docker 容器是通过 docker-compose.yml 文件设置的。
启动所有服务时,我在drone runner 服务的日志中收到以下错误:
time="2020-08-12T19:10:42Z" level=error msg="cannot ping the remote server" error="Post http://drone:80/rpc/v2/ping: dial tcp: lookup drone on 127.0.0.11:53: no such host"
http://gitea 和 http://drone 都指向 localhost(通过 /etc/hosts)。遗憾的是,我不明白无人机跑步者如何或为什么找不到服务器。在我所有的 4 个容器上调用“docker container inspect”表明它们都连接到同一个网络(drone_and_gitea_giteanet)。这也是我在 DRONE_RUNNER_NETWORKS 环境变量中设置的网络。
这是我的 docker-compose.yml 文件的外观:
version: "3.8"
# Create named volumes for gitea server, gitea database and drone server
volumes:
gitea:
gitea-db:
drone:
# Create shared network for gitea and drone
networks:
giteanet:
external: false
services:
gitea:
container_name: gitea
image: gitea/gitea:1
#restart: always
environment:
- APP_NAME="Automated Student Assessment Tool"
- USER_UID=1000
- USER_GID=1000
- ROOT_URL=http://gitea:3000
- DB_TYPE=postgres
- DB_HOST=gitea-db:5432
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
networks:
- giteanet
ports:
- "3000:3000"
- "222:22"
volumes:
- gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
- gitea-db
gitea-db:
container_name: gitea-db
image: postgres:9.6
#restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- giteanet
volumes:
- gitea-db:/var/lib/postgresql/data
drone-server:
container_name: drone-server
image: drone/drone:1
#restart: always
environment:
# General server settings
- DRONE_SERVER_HOST=drone:80
- DRONE_SERVER_PROTO=http
- DRONE_RPC_SECRET=topsecret
# Gitea Config
- DRONE_GITEA_SERVER=http://gitea:3000
- DRONE_GITEA_CLIENT_ID=<CLIENT ID>
- DRONE_GITEA_CLIENT_SECRET=<CLIENT SECRET>
# Create Admin User, name should be the same as Gitea Admin user
- DRONE_USER_CREATE=username:AdminUser,admin:true
# Drone Logs Settings
- DRONE_LOGS_PRETTY=true
- DRONE_LOGS_COLOR=true
networks:
- giteanet
ports:
- "80:80"
volumes:
- drone:/data
depends_on:
- gitea
drone-agent:
container_name: drone-agent
image: drone/drone-runner-docker:1
#restart: always
environment:
- DRONE_RPC_PROTO=http
- DRONE_RPC_HOST=drone:80
- DRONE_RPC_SECRET=topsecret
- DRONE_RUNNER_CAPACITY=1
- DRONE_RUNNER_NETWORKS=drone_and_gitea_giteanet
networks:
- giteanet
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- drone-server
如果有人可以看看这个问题并帮助我,那将对我有很大帮助!:)
解决方案
推荐阅读
- python-3.x - 检查国家代码是否包含给定的字符串
- javascript - jQuery获取许多具有相同类的对象并在它们之间切换
- android - OkHttpClient 与 BasicAuthentication
- r - JSON应用于R中的数据框
- python - 删除workspaceControl/running uiScript, maya/pyside
- linq - linq to sql 2016 Express/Standard edition vs developer edition生成的不同输出脚本
- r - 在 r 中的数据框中继续日期
- net-snmp - send_v3trap 上下文值
- google-analytics - 谷歌分析命中配额
- sql - 如何在查询中设置表达式变量选择oracle sql