将主机名绑定到容器泊坞窗

时间:2018-06-04 07:16:14

标签: docker

我很想创建这样的新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)

1 个答案:

答案 0 :(得分:2)

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

要按主机名过滤,您需要将此逻辑放在应用程序中,或者在应用程序前设置代理以进行过滤。有几个反向代理可以做到这一点,包括traefik,nginx和haproxy。