使 docker 容器只能从特定 IP 访问
Make docker container only accessible from a certain IP
现在,当我将一个docker容器端口绑定到我电脑上的一个端口时,可以通过属于我电脑的每个IP地址访问它。
我知道这一点,因为我尝试使用我的 Docker 主机的静态 LAN ip 地址通过另一台计算机连接到端口。
我想限制该特定容器只能由我的 docker 主机(127.0.0.1 或本地主机)访问。当我将我的 Web 服务器的 IP 更改为本地主机时,它变得无法从我的 docker 主机访问(可能是因为这使它成为容器本地,而不是主机)。
如何在主机本地创建一个 docker 容器?
如果您 运行 这样的容器,它将只能从 127.0.0.1
访问
docker run --rm -it -p 127.0.0.1:3333:80 httpd
--rm
:我用它来测试退出后删除容器。
-it
: 交互式终端。
-p
:端口映射,将主机上的3333映射到容器中的80,并限制只能从localhost访问。
docker-compose 等效项为:
services:
db:
ports:
- "127.0.0.1:80:80"
现在,当我将一个docker容器端口绑定到我电脑上的一个端口时,可以通过属于我电脑的每个IP地址访问它。
我知道这一点,因为我尝试使用我的 Docker 主机的静态 LAN ip 地址通过另一台计算机连接到端口。
我想限制该特定容器只能由我的 docker 主机(127.0.0.1 或本地主机)访问。当我将我的 Web 服务器的 IP 更改为本地主机时,它变得无法从我的 docker 主机访问(可能是因为这使它成为容器本地,而不是主机)。
如何在主机本地创建一个 docker 容器?
如果您 运行 这样的容器,它将只能从 127.0.0.1
docker run --rm -it -p 127.0.0.1:3333:80 httpd
--rm
:我用它来测试退出后删除容器。
-it
: 交互式终端。
-p
:端口映射,将主机上的3333映射到容器中的80,并限制只能从localhost访问。
docker-compose 等效项为:
services:
db:
ports:
- "127.0.0.1:80:80"