需要针对每一个容器设置 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 1
|
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 的,不过好像不是用户可见的
|