DEV Community

Cover image for Keycloak 19.0.1 + Mysql + Docker - Configuração simples de um docker-compose.yaml
Jorge Soares
Jorge Soares

Posted on

Keycloak 19.0.1 + Mysql + Docker - Configuração simples de um docker-compose.yaml

Oi Pessoal, para configurar uma imagem simples do Keycloak com Mysql vou deixar um exemplo de docker-compose.yaml para facilitar a vida de vocês

docker-compose.yaml

 version: '3' services: db: container_name: db_mysql image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=root_pwd - MYSQL_USER=admin - MYSQL_PASSWORD=pa55word ports: - "3306:3306" volumes: - .docker/db/mysql:/var/lib/mysql keycloak: container_name: keycloak image: quay.io/keycloak/keycloak:19.0.1 environment: - KEYCLOAK_ADMIN=admin - KEYCLOAK_ADMIN_PASSWORD=admin - KC_DB=mysql - KC_DB_USERNAME=admin - KC_DB_PASSWORD=pa55word - KC_DB_URL_HOST=db - KC_DB_URL_PORT=3306 - KC_DB_SCHEMA=keycloak ports: - 8080:8080 command: start-dev depends_on: - db 
Enter fullscreen mode Exit fullscreen mode

Ao subir a imagem do mysql crie um banco chamado keycloak ele será usado pelo container do Keycloak para salvar as configurações do sistema.

Caso na primeira vez que subir os containers der o seguinte erro no container do Keycloak Unknown database 'keycloak' significa que o keycloak tentou acessar o schema mas ele ainda não tinha sido criado.

Nesse caso só certifique-se de ter criado o schema no Mysql e rode novamente.

Se tudo der certo, conseguirá acessar http://localhost:8080/ e agora é só se divertir desbravando.

Tela de acesso do Keycloak

Top comments (2)

Collapse
 
danielnegreiros profile image
Daniel Barros

Obrigado. Uma observação: É possível utilizar MYSQL_DATABASE=keycloak para não precisar criar manualmente depois do deployment.

Collapse
 
kurybr profile image
Jorge Soares

Opa, obrigado pelo complemento Daniel !