docker守护程序的ipvlan访问

时间:2018-12-03 16:03:23

标签: docker ipvlan

当前,我正在使用将静态ip分配给docker容器的下一种方法:我为每个此类容器创建ip别名并将其运行为: docker run -p <alias>:<port>:<port> 而且,如果我要将容器迁移到其他主机,则:

  • 在主机1上停止容器
  • 删除主机1上的IP别名
  • 在主机1上重新加载网络
  • 在主机2上添加IP别名
  • 在主机2上重新加载网络
  • 在主机2上启动容器

这不是最优雅的解决方案,仅靠Docker客户端无法实现。每个此类端口都有docker-proxy进程。

我正在尝试使用ipvlan docker run --net=<net> --ip=<ip>,它非常有效,直到需要从主机访问容器为止(例如,当docker daemon需要访问在容器中运行的注册表时)。我尝试使用的所有变通方法看起来都很丑陋且不可靠。是否可以允许访问docker daemon的ipvlan容器(但对所有内容都更好)-诸如为主机本身提供ipvlan地址或将禁用主机的自定义内核编译为ipvlan通信保护(我正在使用带有4.15.0内核的ubuntu 18.04) )?

0 个答案:

没有答案