我有一个包含maven硒项目的docker映像,它将在主机“ 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”名称。
有人知道硒在执行时是否在/ etc / hosts文件中获得了定制条目吗?谢谢。
答案 0 :(得分:1)
也许/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}
另一种选择是在主机OS上编辑/etc/hosts
,然后将主机OS网络用于硒容器:
docker run --rm --privileged \
--net=host \
${selenium-image}