docker-selenium в настроенном файле / etc / hosts? - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть образ докера, который содержит проект maven selenium, и он должен тестироваться на хосте "dev-mock.abc.com".Ниже приведена моя команда docker для запуска тестов на селен.

docker run --rm --privileged \
       --add-host="dev-mock.abc.com:123.45.67.89" \
       ${selenium-image}

Во время выполнения я обнаружил, что / etc / hosts этого контейнера был обновлен с помощью следующей записи: "123.45.67.89 dev-mock.abc.com ", но во время выполнения селена он все еще не может решить это имя" dev-mock.abc.com ".

Кто-нибудь знает, получает ли selenium настраиваемые записи в файле / etc / hosts, когда он выполняется?Благодарю.

1 Ответ

0 голосов
/ 29 сентября 2018

Возможно /etc/nsswitch.conf с правильным содержимым в вашем контейнере отсутствует, поэтому селен "пропускает" /etc/hosts и пытается использовать DNS.Попробуйте:

echo "hosts: files dns" > /tmp/nsswitch.conf
docker run --rm --privileged \
       --volume /tmp/nsswitch.conf:/etc/nsswitch.conf \
       --add-host="dev-mock.abc.com:123.45.67.89" \
       ${selenium-image}

Другой вариант - отредактировать /etc/hosts на вашей хост-ОС, а затем использовать сеть хост-ОС для контейнера селена:

docker run --rm --privileged \
       --net=host \
       ${selenium-image}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...