需要针对每一个容器设置 iptables 防火墙规则,在一个 container 启动后,触发主机上(不是容器内部)一个脚本运行,设置针对本容器的 iptables 规则,在 container 关闭后,再次触发主机上一个脚本运行,清理前一个脚本运行所产生的作用。
类似 systemd 的 ExecStartPost 、ExecStartPre 的机制,libvirt 也有类似机制(/etc/libvirt/hooks/qemu.d )
但是网上简单搜了下,docker 原生似乎不存在这种机制?这种常见的功能都没有,docker 不会这么弱吗?
1 yumusb 2023-08-29 23:12:23 +08:00 DockerFile ENTRYPOINT 关键字 |
![]() | 3 ETiV 2023-08-29 23:28:46 +08:00 ![]() |
![]() | 4 LeoYoung07 2023-08-30 00:24:43 +08:00 |
![]() | 5 ETiV 2023-08-30 00:52:09 +08:00 via iPhone 对 ,管道给 while read saltstack events 也可以这么干 |
6 Jirajine 2023-08-30 00:56:05 +08:00 via Android 你可以换 podman |
7 JohnSwit 2023-08-30 08:55:46 +08:00 为啥一定要用 Docker 的机制? 直接写一个脚本不就好了 |
8 MuSit 2023-08-30 11:55:43 +08:00 via Android 上 k8s 用 operator 实现 |
9 MuSit 2023-08-30 11:57:09 +08:00 via Android 其实主要是要有个控制器能解析 container 生命周期事件 其他都好搞 |
![]() | 10 williamx 2023-08-30 11:57:59 +08:00 via Android 这个一般我用脚本来控制容器启动,而不是直接用原始命令 |
![]() | 11 ensonmj 2023-08-30 22:54:53 +08:00 via iPhone runc 的配置里面是有 hook 的,不过好像不是用户可见的 |