我正在使用docker-compose,我的一个容器向domain.name.com:443发出了无法从主机访问的请求(无法更改)。localhost:542上有一个隧道,该隧道包含主机上的此终结点。我能以某种方式在docker中映射它,编写或使用一些变通方法吗?
容器中来自domain.name.com:443的请求到达localhost:542的一种domain.name.com:443:542。
发布于 2019-07-26 08:24:40
您可以在容器的/etc/hosts文件中添加一个条目,将该域映射到主机的IP地址
docker run -it --add-host "parent.example.com:192.168.0.2" --network="host" --rm busybox使用以下命令从容器进行测试:
/ # cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.0.2 parent.example.com
/ # wget -q http://parent.example.com:8000 -O -
response from parent.example.com:8000在我的示例中,我在运行最小web服务器的主机上进行了测试
while true ; do { echo -e "HTTP/1.1 200 OK\r\nConnection: Close\r\n\r\n"; echo "response from parent.example.com:8000" ; } | netcat -q 0 -l 8000 ;done您的映射应该是--add-host "domain.name.com:<your_ip_address>"。应该在端口443上创建ssh隧道,而不是在端口542上。
https://stackoverflow.com/questions/57209980
复制相似问题