【发布时间】:2018-07-10 21:29:46
【问题描述】:
我有以下设置:
第一台机器。与 Github 集成的 Docker 服务器。
第二台机器。使用 docker-agent 进行生产,以这种方式启动:
docker run -d
-e DRONE_SERVER=<ip:host>
-e DRONE_SECRET=<secret>
-v /var/run/docker.sock:/var/run/docker.sock
--restart=always
--name=drone-agent
drone/agent:0.8 agent
使用以下 .drone.yml 进行回购:
pipeline:
run:
image: docker/compose:1.21.2
commands:
- cd <dir_with_docker-compose.yml>
- docker-compose up -d <service_name>
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
branch: [<branch_name>]
所以当我用这个 .drone.yml 触发构建时,我得到以下输出:
cd <dir_with_docker-compose.yml>
docker-compose up -d <service_name>
Starting docker_<service_name>_1 ...
Starting docker_<service_name>_1 ... error
ERROR: for docker_<service_name>_1 Cannot start service <service_name>: driver failed programming external connectivity on endpoint docker_<service_name>_1
(<hash>): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
ERROR: for <service_name> Cannot start service <service_name>: driver failed programming external connectivity on endpoint docker_<service_name>_1
(<hash>): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
Encountered errors while bringing up the project.
但如果我在cd <dir_with_docker-compose.yml> 和docker-compose up -d <service_name> 之间插入docker ps 或netstat -tulpn 服务启动成功。
为什么会这样?
【问题讨论】:
标签: docker docker-compose drone.io