gpt4 book ai didi

docker - 将主机名绑定(bind)到容器 docker

转载 作者:行者123 更新时间:2023-12-02 19:06:28 25 4
gpt4 key购买 nike

我厌倦了像这样创建新的 docker 容器:

docker run -d -p5050:443 --name=free-proxy -v proxy-config:/data -e telegrammessenger/proxy:latest

此命令成功创建了一个新容器。现在我想限制这个容器,只使用主机名而不是 IP 地址。 我试试这个命令:

docker run -d -ptest.com:5050:443 --name=fourth-proxy -v proxy-config:/data -e telegrammessenger/proxy:latest

但是我得到这个错误:

docker: Invalid ip address: test.com.

我只希望我的容器只使用主机名(而不是 IP 地址)。

注意:我想从外部仅使用主机名访问我的容器。如果客户端使用 IP 地址,则他们不能使用代理:

tg://proxy?server=4.2.2.4&port=5050 (not acceptable)
tg://proxy?server=test.com&port=5050 (acceptable)

最佳答案

Docker 在 L4 层发布端口,它不会查看可能包含主机名的 L7 数据。在 tcp/ip 端口上监听时,您唯一拥有的是端口号和网络接口(interface)(由 ip 地址表示)。

要按主机名过滤,您需要将此逻辑放在您的应用程序中,或者在您的应用程序前面设置一个代理来执行过滤。有几种反向代理可以执行此操作,包括 traefik、nginx 和 haproxy。

关于docker - 将主机名绑定(bind)到容器 docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50675164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com