이것은 미래의 나 자신과 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하지만 두 가지 추가 옵션이 있습니다.
-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에 존재했습니다).
한 가지 해결책은 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=::"