gpt4 book ai didi

docker - 使容器只能从本地主机访问

转载 作者:IT老高 更新时间:2023-10-28 12:42:59 26 4
gpt4 key购买 nike

我在 Debian Jessie 上安装了 Docker 引擎,我正在那里运行带有 nginx 的容器。我的“运行”命令如下所示:

docker run -p 1234:80 -d -v /var/www/:/usr/share/nginx/html nginx:1.9

它工作正常,问题是现在这个容器的内容可以通过 http://{server_ip}:1234 访问。我想在这台服务器上运行多个容器(域),所以我想为它们设置反向代理。

如何确保容器只能通过反向代理访问,而不是直接从 IP:port 访问?例如:

http://{server_ip}:1234  # not found, connection refused, etc...
http://localhost:1234 # works fine

//编辑: 明确一点 - 我不是在问如何设置反向代理,而是如何运行 Docker 容器以便只能从 localhost 访问。

最佳答案

port mapping 中指定所需的主机 IP

docker run -p 127.0.0.1:1234:80 -d -v /var/www/:/usr/share/nginx/html nginx:1.9

如果您正在做一个反向代理,您可能希望将它们与您的反向代理一起放在用户定义的网络上,然后一切都在一个容器中并且可以在其内部网络上访问。

docker network create net
docker run -d --net=web -v /var/www/:/usr/share/nginx/html nginx:1.9
docker run -d -p 80:80 --net=web haproxy

关于docker - 使容器只能从本地主机访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404280/

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