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

标签 docker docker-compose dockerfile keycloak 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

docker 文件

FROM jboss/keycloak:7.0.1
EXPOSE 8080
EXPOSE 8443

docker 检查“容器”

"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": ""
            }
        ],

docker volume inspect 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"
    }
]

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

最佳答案

使用默认数据库位置,您可以尝试使用 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/

找到与普通 docker 相似的答案 https://stackoverflow.com/a/60554189/6916890

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

关于Docker-compose 卷不保存 Keycloak 的容器状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59278955/

相关文章:

javascript - 如何使用 docker-container 运行网络应用程序?

elasticsearch - 在 Docker 运行期间在 Elasticsearch 中设置映射

python - "ModuleNotFoundError: No module named <package>"在我的 Docker 容器中

docker - Web API端点可与docker-compose.yml一起使用,但不适用于仅使用Dockerfile进行构建和运行的情况

java - HTTP 状态 404 - 在 dockerized payara 中部署 Spring 应用程序 war 时未在页面中找到

django - 已经创建了一个安装 nginx、python、uwsgi 和 django 的 docker。如何在 VM 中测试它?

docker - Dockerfile ARG变量

java - 变量中的 Dockerfile Spring Boot 属性不起作用

docker-compose - 如何使用 terraform 重新部署 docker-compose 堆栈?

ruby-on-rails - docker 撰写 + Rails : best practice to migrate?