khusamov / khusamov.github.io

Инструкции на все случаи жизни программиста
http://khusamov.github.io
1 stars 0 forks source link

docker-compose.yml #23

Open khusamov opened 1 year ago

khusamov commented 1 year ago

Запуск Keycloak в докере docker-compose.yml

cd C:\@repo\git.mos.ru\keycloak-themes && docker compose up --detach

docker-compose.yml

version: "3"
services:
  keycloak:
    image: quay.io/keycloak/keycloak:22.0.1
    ports:
      - 8080:8080
    volumes:
      - ./test-providers:/opt/keycloak/providers
      - ./themes:/opt/keycloak/themes
      - ./temp:/opt/keycloak/data
    environment:
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin
    command: start-dev

Запуск Keycloak в докере (устарело, см. вариант с docker-compose.yml)

docker run ^ 
   --rm -p 8080:8080 ^
   --name keycloak-app ^
   -v C:/@repo/git.mos.ru/keycloak-themes//test-providers:/opt/keycloak/providers ^
   -v C:/@repo/git.mos.ru/keycloak-themes/themes:/opt/keycloak/themes ^
   -v C:/@repo/git.mos.ru/keycloak-themes//temp:/opt/keycloak/data ^
   -e KEYCLOAK_ADMIN=admin ^
   -e KEYCLOAK_ADMIN_PASSWORD=admin ^
   quay.io/keycloak/keycloak:22.0.1 ^
   start-dev

В этом случае директории с тестовыми провайдерами и темами в разработке будут подключены в контейнере.

Для Docker Engine начиная с 23 версии можно использовать относительные пути (для Windows поддерживается слеш только обратный \):

docker run ^
   --rm -p 8080:8080 ^
   --name keycloak-app ^
   -v .\test-providers:/opt/keycloak/providers ^
   -v .\themes:/opt/keycloak/themes ^
   -v .\temp:/opt/keycloak/data ^
   -e KEYCLOAK_ADMIN=admin ^
   -e KEYCLOAK_ADMIN_PASSWORD=admin ^
   quay.io/keycloak/keycloak:22.0.1 ^
   start-dev
khusamov commented 1 year ago

Примеры докер-файлов

# Сборка темы для Keycloak.
FROM node:18 as theme-builder
COPY ./package.json ./yarn.lock /opt/app/
WORKDIR /opt/app
RUN yarn install --frozen-lockfile
COPY . /opt/app/
RUN yarn build-keycloak-theme

# Сборка Keycloak.
FROM quay.io/keycloak/keycloak:latest as builder
WORKDIR /opt/keycloak
COPY --from=theme-builder /opt/app/build_keycloak/target/keycloakify-starter-keycloak-theme-4.6.5.jar /opt/keycloak/providers/
RUN /opt/keycloak/bin/kc.sh build

# Запуск Keycloak в dev-режиме.
FROM quay.io/keycloak/keycloak:latest
COPY --from=builder /opt/keycloak/ /opt/keycloak/
ENV KC_HOSTNAME=localhost
ENV KEYCLOAK_ADMIN=admin
ENV KEYCLOAK_ADMIN_PASSWORD=admin
ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start-dev"]

# docker build -t keycloak-app .
# docker run -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin -p 8080:8080 keycloak-app
# docker run -p 8080:8080 --name keycloak-app --rm keycloak-app
# docker compose up --detach

# https://www.keycloak.org/getting-started/getting-started-docker
# https://www.keycloak.org/server/containers

docker-compose.yml

version: "3"
services:
  keycloak:
    build: .
    container_name: keycloak-themes-keycloakify-starter
    hostname: localhost
    command: start-dev
    ports:
      - "8080:8080"
    environment:
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin
    volumes:
      - ./test-providers:/opt/keycloak/providers
      - ./temp:/opt/keycloak/data