繁体   English   中英

从另一个 Docker 容器访问 Docker 容器中的 Django 应用程序

[英]Accessing Django app in Docker container from another Docker container

客观的

我有一个docker-compose.yml ,它运行三个位于同一网络中的 Docker 容器:一个 Django 应用程序、一个 Nginx 和一个 Selenium 映像。 我的目标是能够从 Selenium 容器测试 Django 应用程序。

问题

尝试从 Selenium 驱动程序发出获取请求时

driver.get("http://nginx:80")

Django 以主机不被允许为由拒绝连接。 我得到一个:

Invalid HTTP_HOST header: 'nginx'. The domain name provided is not valid according to RFC 1034/1035.

我尝试将容器(Nginx)的名称添加到settings.py中的ALLOWED_HOSTS变量中,但它仍然不接受它。 有任何想法吗?

解决方案

简而言之,RFC 1034/1035 不允许在域名中使用下划线 (_),似乎 Django 会对此进行检查。 我只是将它们更改为连字符 (-),问题就解决了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM