将主机网络注入CircleCI中的容器

时间:2019-02-15 11:49:16

标签: docker networking circleci

我有这个CircleCI配置。

    <input id="uNameInput" class="choosename" type="text" maxlength="12" minlength="4" placeholder="username" required>
            
    <input onclick="generate()" id="gen-button" class="modern" type="button" value="Generate usename"</input>

我正在寻找一种方法,允许我的新容器访问elasticsearch端口9200。使用这种配置,elasticsearch甚至都不是已知的主机名。

  • 无法创建额外的网络,因此出现此错误消息version: 2 jobs: build: docker: - image: docker:18.09.2-git - image: docker.elastic.co/elasticsearch/elasticsearch:6.6.0 name: elasticsearch working_directory: ~/project steps: - checkout - setup_remote_docker: docker_layer_caching: true - run: name: test command: | docker run --rm \ --network host \ byrnedo/alpine-curl \ elasticsearch:9200
  • 主网络在主映像中似乎只能正常运行

我该怎么办?

1 个答案:

答案 0 :(得分:1)

那是行不通的。通过docker run命令在构建过程中启动的容器正在通过远程Docker引擎运行。因为它们是隔离的,所以它们无法通过TCP与作为执行程序一部分运行的容器通信。只是docker exec

该解决方案最终将取决于您的最终目标,但是一个选择可能是从执行程序中删除Elasticsearch映像/容器,并使用Docker Compose来使两个映像在构建过程中彼此对话。

相关问题