Внедрение хост-сети в контейнер в CircleCI - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть эта конфигурация CircleCI.

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

Я ищу способ, позволяющий моему новому контейнеру получить доступ к порту эластичного поиска 9200. С этой конфигурацией эластичный поиск даже не является известным хостом.name.

  • Создание дополнительной сети невозможно, поэтому у меня появляется это сообщение об ошибке container sharing network namespace with another container or host cannot be connected to any other network
  • Кажется, что хост-сеть работает только в основной сети.image

Как я могу это сделать?

1 Ответ

0 голосов
/ 15 февраля 2019

Это не сработает.Контейнеры, запущенные во время сборки с помощью команды docker run, выполняются через удаленный механизм Docker.Невозможно общаться с контейнерами, работающими как часть исполнителя через TCP, так как они изолированы.Просто docker exec.

Решение в конечном итоге будет зависеть от вашей конечной цели, но одним из вариантов может быть удаление образа / контейнера Elasticsearch из исполнителя и использование Docker Compose, чтобы оба изображения взаимодействовали друг с другом.внутри сборки.

...