我正在容器化一个网络绑定的应用程序。我想用Docker主机网络驱动程序部署容器,因为它是最大程度地减少延迟的驱动程序选项。
现在让我们说我的容器基于ubuntu:latest,而我的宿主操作系统是CentOS。还要说我的应用程序对Ubuntu具有一些与网络相关的依赖性。我的应用程序能按预期工作吗?
我最终要解决的问题是,使用主机驱动程序时,主机和容器之间在网络方面是否存在某种隔离,或者在涉及网络依赖项时您实际上失去了任何可移植性吗?
答案 0 :(得分:0)
如果指定--net host
,则容器与主机网络之间将没有隔离。另一方面,如果您只是做直接的TCP / UDP事务,那么在Unices中是非常可移植的,并且我不会特别担心主机和容器的分配不匹配。
(如果您开始说“ ioctl”或“ syscall”或直接将内核头文件用于任何事情,那是值得担心的;如果您依赖于弄乱iptables,则可能会变得很奇怪。)