fli*_*art 6 network-programming docker
运行 Docker 容器时,我想设置容器的网络,以便容器只能在主机正在侦听的 (TCP) 端口上与主机进行通信。我不希望容器能够访问互联网、同一主机上运行的其他容器或主机所连接的网络。如果我运行带有 VMWare 之类的虚拟机,我会选择“仅主机”网络选项,该选项会在来宾虚拟机和具有上述属性的主机之间创建专用网络。
我研究过使用 Docker,--net=none但我不知道该朝哪个方向配置网络来实现我的目标。TAP/TUN 似乎是可行的方法,但我希望得到一些指导
您可以创建--internal网络并在其中运行容器。
创建网络:
docker network create -d bridge --internal hostonly
Run Code Online (Sandbox Code Playgroud)
运行容器:
docker run --network hostonly ...
Run Code Online (Sandbox Code Playgroud)
可能的部分答案:
如果您可以使用 unix 套接字而不是 TCP 与您的应用程序进行通信,那么您可以使用
docker run -net=none -v /host-path/socket.sock:/container-path/socket.sock
Run Code Online (Sandbox Code Playgroud)
提供容器和主机套接字之间的直接通信,而不允许容器外的任何网络连接。
| 归档时间: |
|
| 查看次数: |
4660 次 |
| 最近记录: |