Docker 公开容器的端口但限制​​网络访问

Docker 公开容器的端口但限制​​网络访问

我有一台服务器 A,它运行一个容器 B(比如说一个 SSH 服务器)。我想允许人们在 B 上进行一些不访问网络的计算。

使用docker run --publish=${MY_PORT}:22 ...,我公开容器 B 的端口以允许人们连接到 B。这样人们就可以使用 A 的${MY_PORT}端口 ssh 进入 B。但是,人们可以发起与其他服务器(例如8.8.8.8)的 TCP 连接,因此他们可以使用服务器 A 作为跳转主机来做坏事。

是否可以隔离容器 B 的网络?也就是说,只允许访问已发布的端口,并拒绝所有其他网络流量。我正在考虑类似的事情--network=none --publish=${MY_PORT}:22。是否可以在不编辑 Docker 的 iptables 的情况下实现此目的?

相关内容