【发布时间】:2019-04-26 06:31:57
【问题描述】:
我正在尝试在 GitLab CI 中运行持续集成,其中包括:
- 构建 docker 镜像
- 运行测试
- 将 docker 镜像推送到注册表
那些在一项工作中运行。在提出一些需要与数据库通信的测试之前,我可以毫无问题地做到这一点。我的容器无法与定义的 Postgres 服务通信。
我已经用简单的ping 脚本在a public repository 中复制了它
image: docker:stable
services:
- docker:dind
- postgres:latest
job1:
script:
- ping postgres -c 5
- docker run --rm --network="host" alpine:latest sh -c "ping postgres -c 5"
第一个脚本可以正常运行,但第二个脚本失败并出现错误
ping: bad address 'postgres'
如何访问该服务?
或者我应该在不同的工作中运行测试吗?
【问题讨论】:
-
你的脚本的第二个命令去服务
docker:dind所以高山容器在docker:dind里面并且看不到postgres