Docker-compose 卷不保存 Keycloak 容器的状态

Ele*_*tor 3 docker keycloak dockerfile docker-compose docker-volume

docker-compose.yml

services:
  idprovider-app:
    container_name: idprovider-app
    build:
      dockerfile: Dockerfile
      context: .
    environment:
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
    volumes:
        - keycloak-data-volume:/var/lib/keycloak/data
    ports:
      - "8090:8090"   
      - "8443:8443"     
volumes:
  keycloak-data-volume:
    external: true
Run Code Online (Sandbox Code Playgroud)

docker文件

FROM jboss/keycloak:7.0.1
EXPOSE 8080
EXPOSE 8443
Run Code Online (Sandbox Code Playgroud)

码头工人检查“容器”

"Mounts": [
            {
                "Type": "volume",
                "Name": "keycloak-data-volume",
                "Source": "/mnt/sda1/var/lib/docker/volumes/keycloak-data-volume/_data",
                "Destination": "/var/lib/keycloak/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            }
        ],
Run Code Online (Sandbox Code Playgroud)

docker 卷检查 keycloak-data-volume

[
    {
        "CreatedAt": "2019-12-10T19:31:55Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/mnt/sda1/var/lib/docker/volumes/keycloak-data-volume/_data",
        "Name": "keycloak-data-volume",
        "Options": {},
        "Scope": "local"
    }
]
Run Code Online (Sandbox Code Playgroud)

没有错误,但它不保存状态。我不知道出了什么问题。我在 Windows 10 上运行它。

laz*_*ead 5

使用默认数据库位置,您可以使用 docker-compose 尝试此选项:

keycloak:
    image: quay.io/keycloak/keycloak:14.0.0
    container_name: keycloak
    environment:
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: admin
    ports:
      - "8082:8080"
    restart: always
    volumes:
      - .local/keycloak/:/opt/jboss/keycloak/standalone/data/
Run Code Online (Sandbox Code Playgroud)

与普通的 docker 找到类似的答案/sf/answers/4238793261/

docker run --volume /root/keycloak/data/:/opt/jboss/keycloak/standalone/data/