【发布时间】:2015-12-01 05:23:16
【问题描述】:
为了执行测试,我通常运行一个单独的容器:
docker-compose run --rm web /bin/bash
其中 web 是 django 的容器。我不时在 shell 中执行 py.test。
为了能够使用 django 从容器访问 selenium,并允许 selenium 容器中的浏览器访问 django 的 liveserver,我决定使用允许容器共享网络的“net”参数。所以我将它添加到 yml 中:
selenium:
image: selenium/standalone-firefox
net: "container:web"
不幸的是,这不起作用。我的 django 容器中没有看到 4444 端口。
只有当我指定一个自动生成的容器名称而不是 net:"container:web" 时,它才有效,例如 net:"container:project_web_run_1"。
我也尝试使用 docker-compose up --no-deps 将 command 参数更改为 py.test functional_tests 而不是 docker-compose run --rm ....,但这也不起作用。
这是在容器中使用 selenium 的权利吗?
【问题讨论】: