• 请不要在回答技术问题时复制粘贴 AI 生成的内容
einsdisp
V2EX  ›  程序员

Docker 有没有官方的 Hook 机制,容器启动时可触发主机运行脚本?

  •  
  •   einsdisp · Aug 29, 2023 · 3684 views
    This topic created in 1162 days ago, the information mentioned may be changed or developed.

    需要针对每一个容器设置 iptables 防火墙规则,在一个 container 启动后,触发主机上(不是容器内部)一个脚本运行,设置针对本容器的 iptables 规则,在 container 关闭后,再次触发主机上一个脚本运行,清理前一个脚本运行所产生的作用。

    类似 systemd 的 ExecStartPost 、ExecStartPre 的机制,libvirt 也有类似机制(/etc/libvirt/hooks/qemu.d )

    但是网上简单搜了下,docker 原生似乎不存在这种机制?这种常见的功能都没有,docker 不会这么弱吗?

    11 replies  •  2023-08-30 22:54:53 +08:00
    yumusb
    yumusb
    Aug 29, 2023
    1
    DockerFile ENTRYPOINT 关键字
    einsdisp
    einsdisp
    OP
    Aug 29, 2023
    2
    @yumusb 那玩意是运行在容器里面的
    ETiV
    ETiV
    Aug 29, 2023❤️1
    3
    LeoYoung07
    LeoYoung07
    Aug 30, 2023
    4
    @ETiV 学习了,看起来可以通过类似这种方式实现:
    https://stackoverflow.com/a/58289989
    ETiV
    ETiV
    Aug 30, 2023 via iPhone
    5
    对 ,管道给 while read

    saltstack events 也可以这么干
    Jirajine
    Jirajine
    Aug 30, 2023 via Android
    6
    你可以换 podman
    JohnSwit
    JohnSwit
    Aug 30, 2023
    7
    为啥一定要用 Docker 的机制?
    直接写一个脚本不就好了
    MuSit
    MuSit
    Aug 30, 2023 via Android
    8
    上 k8s 用 operator 实现
    MuSit
    MuSit
    Aug 30, 2023 via Android
    9
    其实主要是要有个控制器能解析 container 生命周期事件 其他都好搞
    williamx
    williamx
    Aug 30, 2023 via Android
    10
    这个一般我用脚本来控制容器启动,而不是直接用原始命令
    ensonmj
    ensonmj
    Aug 30, 2023 via iPhone
    11
    runc 的配置里面是有 hook 的,不过好像不是用户可见的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1318 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 20:05 · PVG 04:05 · LAX 12:05 · JFK 15:05
    ♥ Do have faith in what you're doing.