app.yml 中可用的所有钩子是什么

您好,我正在尝试设置一个钩子,以便在 Discourse 重启或构建后重新启动时自动连接到我的 Docker 网络。这样我就可以在方便的时候使用管理员 Web 更新程序,但我想弄清楚如何最好地实现这一点。文档并没有真正说明我可以使用哪些钩子类型,而且查找诸如 after_post_bootafter_restart 之类的钩子也没有效果。这些钩子是否不再起作用?如果是,为什么?这是我的钩子代码。

钩子:

开始自定义网络钩子

after_restart:

  • exec:
    cmd:
    • bash

    • “-c”

    • |\

      如果容器尚未连接到自定义 Docker 网络,则将其连接

      NETWORK_NAME=“proxy”
      CONTAINER_NAME=$(hostname)

              # 如果网络不存在,则创建它
              if ! docker network inspect "$NETWORK_NAME" >/dev/null 2>&1; then
                echo "正在创建 Docker 网络:$NETWORK_NAME"
                docker network create "$NETWORK_NAME"
              fi
      
              # 将容器连接到网络(如果已连接则忽略)
              echo "正在将 $CONTAINER_NAME 连接到 $NETWORK_NAME..."
              docker network connect "$NETWORK_NAME" "$CONTAINER_NAME" 2>/dev/null || true
      
              echo "网络连接完成。"
      

结束自定义网络钩子