- keycloak Service работает по адресу http: // keycloak: 8080/auth Inside Docker.
- Мое приложение Java с внутренними портами Tomcat и хостом на 8090
in my applos -games -game -games -jsscl. as: < /p>
{
"realm": "${realm}",
"auth-server-url": "http://keycloak:8080/auth",
"ssl-required": "none",
"resource": "${client_id}",
"public-client": true,
"confidential-port": 0
}
У меня была проблема при попытке получить доступ к http: // localhost: 8090/system , приложение переломило браузер на этот URL -адрес keyCloak:
http://keycloak:8080/auth/realms/tdoc-a ... nnect/auth...
< /code>
, который не удался в браузере, показываетERR_CONNECTION_REFUSED, потому что я понимаю, что эта служба не может быть решена извне от хоста.{
"realm": "${realm}",
"auth-server-url": "http://localhost:8012/auth",
"ssl-required": "none",
"resource": "${client_id}",
"public-client": true,
"confidential-port": 0
}
< /code>
Но мое приложение не удалось при попытке войти в систему, показывая ошибку внутреннего сервера 500: < /p>
[WARN ] 12:08:46.150 org.keycloak.adapters.KeycloakDeployment.resolveUrls() - Failed to load URLs from http://localhost:8012/auth/realms/${rea ... figuration
java.net.ConnectException: Connection refused (Connection refused)
< /code>
Потому что он не может разрешить изнутри контейнера, моя служба открыта локально в порту 8012. Что, я думаю, был ответ в этом посте: https://stackoverflow.com/a/74929659 твоя/> Кто-нибудь знает, что знает ли кто-нибудь, почему не сработало для меня это решение? /> - keycloak_frontend_url = http: // localhost: 8012/auth
version: '3'
services:
app-db:
image: mysql:5.7
ports:
- "3309:3306"
environment:
MYSQL_ROOT_PASSWORD: example
networks:
- my-network
my-app:
build: .
ports:
- "8090:8080"
- "8000:8000"
environment:
- JAVA_OPTS=...
volumes:
- ./app:/usr/local/tomcat/webapps/my-app
depends_on:
- app-db
networks:
- my-network
keycloak:
image: quay.io/keycloak/keycloak:16.1.1
ports:
- "8012:8080"
environment:
- DB_VENDOR=mysql
- DB_ADDR=keycloak-db
- DB_PORT=3306
- DB_USER=keycloak_user
- DB_PASSWORD=keycloak_pass
- DB_DATABASE=keycloak
- PROXY_ADDRESS_FORWARDING=true
- KEYCLOAK_FRONTEND_URL=http://localhost:8012/auth
volumes:
- ./themes:/opt/jboss/keycloak/themes
depends_on:
- keycloak-db
networks:
- my-network
keycloak-db:
image: mysql:5.7
ports:
- "3307:3306"
environment:
- MYSQL_ROOT_PASSWORD=keycloak_pass
- MYSQL_DATABASE=keycloak
- MYSQL_USER=keycloak_user
- MYSQL_PASSWORD=keycloak_pass
volumes:
- ./volumes/mysql:/var/lib/mysql
networks:
- my-network
networks:
my-network:
external: true
name: my-network
Подробнее здесь: https://stackoverflow.com/questions/795 ... hin-docker