gpt4 book ai didi

docker - 在 keycloak http 端点准备好后运行 shell 脚本

转载 作者:行者123 更新时间:2023-12-02 19:24:49 24 4
gpt4 key购买 nike

简化场景:

Dockerfile:

FROM jboss/keycloak
COPY ./initialize.sh /
RUN chmod +x initialize.sh

初始化.sh:
#!/bin/bash
curl http://localhost:8080/auth

我想要实现的是以下内容:
  • 启动 keycloak 容器
  • 执行initialize.sh /auth 之后的脚本
    容器内的 http 端点已准备就绪
  • 使用 keycloak-cli 添加测试用户和角色

  • 背后的动机是创建一个与 https://www.testcontainers.org/ 一起使用的 keycloak 容器。用于集成测试。

    官方 jboss/keycloak图片有 KEYCLOAK_IMPORT启用领域导入的环境变量,但无法导入集成测试所需的用户和角色。

    最佳答案

    你应该使用 docker healthcheck .

    Healthcheck 将在开始执行之前确定容器何时处于健康状态。

    添加这些行在你dockerfile

    HEALTHCHECK --interval=5m --timeout=3s \
    CMD curl --fail http://localhost:8080/auth || exit 1

    或者

    修改您的 docker run命令。

    docker run -itd --health-cmd "curl --fail http://localhost:8080/auth || exit 1" --health-interval=5s --timeout=3s image-name



    希望这有帮助,让我知道。

    关于docker - 在 keycloak http 端点准备好后运行 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57059982/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com