Keycloak は「プライベート インターフェイスを確認できません」というメッセージで起動しません。

Keycloak は「プライベート インターフェイスを確認できません」というメッセージで起動しません。

これは、将来の自分自身とKeycloak / Wildfly未解決のインターフェイスエラーが発生した他のすべての人に送信するメモです。

MSC000001: org.wildfly.network.interface.private サービスを開始できません: org.wildfly.network.interface.private サービスで org.jboss.msc.service.StartException: WFLYSRV0082: プライベート・インターフェースを確認できません。

答え1

これは私にとって効果的です。

docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:9.0.2 -Djboss.bind.address.private=127.0.0.1 -Djboss.bind.address=0.0.0.0

これはdocker run次のコマンドです。https://www.keycloak.org/getting-started/getting-started-dockerしかし、2つの追加オプションがあります。

-Djboss.bind.address.private=127.0.0.1 -Djboss.bind.address=0.0.0.0

答え2

このように実行すると、podmanとdockerの問題がバイパスされます。

podman run --rm -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin registry.hub.docker.com/jboss/keycloak:latest -Djboss.bind.address.private=127.0.0.1 -Djboss.bind.address=127.0.0.1

答え3

dockerがipv6を使用している場合、wildflyサーバーはこのエラーで失敗します(このバグは当時Keycloak 8.0.2に存在しました)。

1つの解決策は、Dockerコンテナのipv6を無効にすることです。

docker-composeを使用する場合:

  networks:
    kc_net:
      driver: bridge
      enable_ipv6: false

それ以外の場合は、コマンドラインフラグを使用してください。

答え4

ipv6を有効にした後、これらのJAVA_OPTSを使用してwildflyを起動できます。

JAVA_OPTS = "-Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true -Djboss.bind.address.private=::1 -Djboss.bind.address=::"

関連情報