DEV Community

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

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 Rafael

Opa, obrigado pelo complemento Daniel !