gpt4 book ai didi

docker - 通过 CLI 命令配置 dockerized Keycloak

转载 作者:行者123 更新时间:2023-12-03 16:58:45 24 4
gpt4 key购买 nike

我正在尝试配置一个 dockerized Keycloak 服务器,比如从 Dockerfile 中的 CLI 命令创建一个领域:

FROM quay.io/keycloak/keycloak:11.0.0

# Create realm "realm_borrar" on keycloak
RUN /opt/jboss/keycloak/bin/kcadm.sh create realms -s realm=my_new_realm -s enabled=true -o --server http://localhost:8080/auth --realm master --user admin --password admin
docker build -f ...的结果是:
Logging into http://localhost:8080/auth as user admin of realm master
Failed to send request - Connect to localhost:8080 [localhost/127.0.0.1] failed: Connection refused (Connection refused)
如果我运行容器(使用相同的 Dockerfile 创建,但删除了 RUN 语句)并执行相同的 CLI 命令(kcadm.sh ....),它就可以工作。
在 Dockerfile 中配置 Keycloak 的正确方法应该是什么?
谢谢。

最佳答案

这是有关如何为 ubuntu 执行此操作的示例...

  • 在终端上,将 Keycloak 作为 dockerfile 运行,例如:
    docker run --name keycloak -p 8484:8080 -e DB_VENDOR=h2 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak:11.0.0 
  • 在另一个终端,运行您需要的 CLI 命令作为容器的 exec 命令,例如为 kcadm.sh get realms做:
    docker exec -it keycloak /opt/jboss/keycloak/bin/kcadm.sh get realms --server http://localhost:8080/auth --realm master --user admin --password admin 

  • 如果您想在同一个终端上运行所有内容,请在第一个 docker 命令上使用 -d(分离)。
    对于 create realms使用文件,在运行时将文件的目录映射到 keycloack 内(理论上直接映射文件也应该有效)例如:
        docker run --name keycloak -p 8484:8080 -d -e DB_VENDOR=h2 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -v host_abs_path:/cfg jboss/keycloak:11.0.0 
    #wait for keycloak to start...
    sleep 10
    docker exec -it keycloak /opt/jboss/keycloak/bin/kcadm.sh create realms --server http://localhost:8080/auth --realm master --user admin --password admin -f /cfg/my_realms.json

    关于docker - 通过 CLI 命令配置 dockerized Keycloak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64461485/

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