GitLab:Docker容器中的Docker可以';t连接到服务容器

GitLab:Docker容器中的Docker可以';t连接到服务容器,docker,gitlab,docker-in-docker,clair,Docker,Gitlab,Docker In Docker,Clair,我的GitLab CI/CD有一个名为clair db的服务映像,但我的主要工作映像(docker:19.03.6似乎无法与其通信。我已经查看了,它声称您可以通过简单地使用服务的名称作为主机名及其公开端口,将构建的主映像连接到服务(例如,一个名为mysql:latest的服务具有一个公开的端口1234,允许您以mysql:1234的身份连接到它——这意味着ping mysql:1234将成功工作) 有趣的是,我可以使用以下命令在GitLab CI/CD构建中ping我试图与之通信的服务(即arm

我的GitLab CI/CD有一个名为clair db的
服务
映像,但我的主要工作映像(
docker:19.03.6
似乎无法与其通信。我已经查看了,它声称您可以通过简单地使用服务的名称作为主机名及其公开端口,将构建的主映像连接到服务(例如,一个名为
mysql:latest
的服务具有一个公开的端口
1234
,允许您以
mysql:1234
的身份连接到它——这意味着
ping mysql:1234
将成功工作)

有趣的是,我可以使用以下命令在GitLab CI/CD构建中
ping
我试图与之通信的服务(即
arminc clair db:5432
):

$export LOCAL\u MACHINE\u IP\u ADDRESS=arminc clair db
$ping-c4$LOCAL_MACHINE_IP_地址:5432
PING arminc clair db:5432(172.17.0.3):56个数据字节
172.17.0.3中的64字节:seq=0 ttl=64时间=0.106毫秒
172.17.0.3中的64字节:seq=1 ttl=64时间=0.075毫秒
172.17.0.3中的64字节:seq=2 ttl=64时间=0.094毫秒
172.17.0.3中的64字节:seq=3 ttl=64时间=0.074毫秒
---arminc clair db:5432 ping统计数据---
发送4个数据包,接收4个数据包,0%数据包丢失
往返最小/平均/最大=0.074/0.087/0.106 ms
但是尝试与arminc clair db:5432进行通信时,以下命令失败:

$docker run--interactive--rm--volume“$PWD”:/tmp/app-e CI_PROJECT\u DIR=/tmp/app-e CLAIR\u DB\u CONNECTION\u STRING=“postgresql://postgres:password@${LOCAL\u MACHINE\u IP\u ADDRESS}:5432/postgres?sslmode=disable&statement\u timeout=60000“-e CI\u应用程序\u存储库=[MASKED]/codigo倡议-e CI_APPLICATION_TAG=latest registry.gitlab.com/gitlab-org/security-products/analyzers/klar
状态:为registry.gitlab.com/gitlab org/security products/analyzers/klar下载了更新的映像:最新
[信息][klar][2020-07-12T17:50:54Z]▶ GitLab klar analyzer v2.4.8
[警告][klar][2020-07-12T17:50:54Z]▶ 路径为“/tmp/app/clair whitelist.yml”的Allowlist文件不存在,正在跳过
[警告][klar][2020-07-12T17:50:54Z]▶ 路径为“/tmp/app/vulnerability Allowlist.yml”的Allowlist文件不存在,正在跳过
[信息][klar][2020-07-12T17:50:54Z]▶ 未配置DOCKER_用户和DOCKER_密码环境变量。默认为DOCKER_用户=$CI_注册表_用户和DOCKER_密码=$CI_注册表_密码
[警告][klar][2020-07-12T17:50:54Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的1次
[警告][klar][2020-07-12T17:50:56Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的2次
[警告][klar][2020-07-12T17:50:58Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第3次
[警告][klar][2020-07-12T17:51:00Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第4次
[警告][klar][2020-07-12T17:51:02Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第5次
[警告][klar][2020-07-12T17:51:04Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第6次
[警告][klar][2020-07-12T17:51:06Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第7次
[警告][klar][2020-07-12T17:51:08Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第8次
[警告][klar][2020-07-12T17:51:10Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次中的第9次
[警告][klar][2020-07-12T17:51:13Z]▶ 漏洞数据库未就绪,在重试前等待2秒。请重试10次,共10次
[FATA][klar][2020-07-12T17:51:15Z]▶ 等待漏洞数据库启动时出错。重试10次后放弃。:拨打tcp:lookup arminc clair db on 169.254.169.254:53:没有这样的主机
错误:作业失败:退出代码1
下面是我的完整
.gitlab ci.yml
文件:

stages: 
  - scan

scanning:
  stage: scan
  image: docker:19.03.6
  services:
    - name: arminc/clair-db:latest
    - name: docker:19.03.6-dind
  before_script:
    - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
  script:
    - export LOCAL_MACHINE_IP_ADDRESS=arminc-clair-db
    - ping -c 4 $LOCAL_MACHINE_IP_ADDRESS:5432 #Pinging 'arminc-clair-db:5432' to prove that it IS accessible
    - docker run --interactive --rm --volume "$PWD":/tmp/app -e CI_PROJECT_DIR=/tmp/app -e CLAIR_DB_CONNECTION_STRING="postgresql://postgres:password@${LOCAL_MACHINE_IP_ADDRESS}:5432/postgres?sslmode=disable&statement_timeout=60000" -e CI_APPLICATION_REPOSITORY=vismarkjuarez1994/codigo-initiative -e CI_APPLICATION_TAG=latest registry.gitlab.com/gitlab-org/security-products/analyzers/klar
我也提到了无济于事