如何将Docker容器的IP动态添加到Django的ALLOWED_HOST

问题描述 投票:0回答:1

我已经计划在Docker中部署Django应用程序。为了进行主机验证,我们需要将ALLOWED_HOST变量设置为域名或IP地址。

如何将提供我的应用程序的容器的IP地址添加到允许的主机?

出于安全原因,我不想使用通配符或IP范围。我该怎么办?

python django docker docker-container
1个回答
0
投票

[只是在容器启动过程中包含一个脚本(例如,您的CMD或可能是您的ENTRYPOINT),它会抓取容器ip地址并将其放置在文件中。例如:

#!/bin/sh

myaddr=$(ip addr show eth0 | awk '$1 == "inet" {print $2}' | cut -f1 -d/)
sed -i "s/^ALLOWED_HOSTS=.*/ALLOWED_HOSTS=$myaddr/" /path/to/config/file.conf

尽管说实话,我不确定您是否要这样做...通常,您将通过主机上已发布的端口访问容器化服务(例如,通过-pdocker run选项) ,因此您需要主机ip(或localhost,具体取决于您的使用情况),而不是容器ip。

© www.soinside.com 2019 - 2024. All rights reserved.