我见过Gogs + Drone getsockopt:连接被拒绝,但我想知道是否发生了一些变化。
我的码头工人-组合.yml
git:
image: gogs/gogs
ports:
- '8300:3000'
- '443:443'
- '8322:22'
volumes:
- 'gogs-data:/data'
depends_on:
- database
labels:
- 'traefik.backend=git'
- 'traefik.port=3000'
- 'traefik.frontend.rule=Host:git.drone.localhost'
drone-server:
image: drone/drone:0.8
ports:
- 8000
- 9000
volumes:
- drone-server-data:/var/lib/drone/
environment:
- DRONE_OPEN=true
- DRONE_HOST=http://drone-server:8000
- DRONE_SECRET=SECRET
- DRONE_GOGS=true
- DRONE_GOGS_URL=http://git:3000
- DRONE_GOGS_SKIP_VERIFY=true
在 gogs 中将我的存储库的网络钩子更改为 http://droner-server:8000 后,我可以看到无人机开始执行。但它无法克隆存储库:
+ git remote add origin http://git:3000/gituser/repo.git 0s
+ git fetch --no-tags origin +refs/heads/g2: 0s
fatal: unable to access 'http://git:3000/gituser/repo.git/': Could not resolve host: git
- 不要忘记顶部的版本标签
- docker-compose 文件中的容器无法访问其他容器的端口,除非它们是同一网络。git 容器的端口 3000 是 gogs 侦听的位置,但它映射到主机上的端口 8300。您可以添加这样的桥接网络:
docker-compose.yaml
version: '3'
services:
git:
image: gogs/gogs
ports:
- '8300:3000'
- '443:443'
- '8322:22'
volumes:
- 'gogs-data:/data'
networks:
- my-net
depends_on:
- database
labels:
- 'traefik.backend=git'
- 'traefik.port=3000'
- 'traefik.frontend.rule=Host:git.drone.localhost'
drone-server:
image: drone/drone:0.8
ports:
- 8000
- 9000
volumes:
- drone-server-data:/var/lib/drone/
networks:
- my-net
environment:
- DRONE_OPEN=true
- DRONE_HOST=http://drone-server:8000
- DRONE_SECRET=SECRET
- DRONE_GOGS=true
- DRONE_GOGS_URL=http://git:3000
- DRONE_GOGS_SKIP_VERIFY=true
networks:
my-net:
driver: bridge