使 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"