我无法使用 Ansible 和 Docker Compose 启动 Keycloak 容器。我收到错误:
用户名“admin”的用户已添加到“/opt/jboss/keycloak/standalone/configuration/keycloak-add-user.json”
我有 3 个 Ansible 工作:
创建网络:
- name: Create a internal network
docker_network:
name: internal
设置 Postgres:
- name: "Install Postgres"
docker_compose:
project_name: posgressdb
restarted: true
pull: yes
definition:
version: '2'
services:
postgres:
image: postgres:12.1
container_name: postgres
restart: always
env_file:
- /etc/app/db.env
networks:
- internal
volumes:
- postgres-data:/var/lib/postgresql/data
- /etc/app/createdb.sh:/docker-entrypoint-initdb.d/init-app-db.sh
ports:
- "5432:5432"
volumes:
postgres-data:
networks:
internal:
external:
name: internal
创建Keycloak容器:
- name: Install keycloak
docker_compose:
project_name: appauth
restarted: true
pull: yes
definition:
version: '2'
services:
keycloak:
image: jboss/keycloak:8.0.1
container_name: keycloak
restart: always
environment:
- DB_VENDOR=POSTGRES
- DB_ADDR=postgres
- DB_PORT=5432
- DB_SCHEMA=public
- DB_DATABASE=keycloak
- DB_USER=keycloak
- DB_PASSWORD=keycloak
- KEYCLOAK_USER=admin
- KEYCLOAK_PASSWORD=admin
networks:
- internal
networks:
internal:
external:
name: internal
有谁知道我为什么会收到此错误?
EDIT
如果我将 Keycloak 降级到版本 7,它会正常启动!
只是为了澄清其他答案。我遇到过同样的问题。对我有帮助的是:
- 停止所有容器
-
注释掉相关的两行
version: "3"
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
environment:
# KEYCLOAK_USER: admin
# KEYCLOAK_PASSWORD: pass
...
启动所有容器;
- 等待 keycloak 容器成功启动
- 再次停止所有容器
-
在上面的两行中评论回来
version: "3"
services:
keycloak:
image: quay.io/keycloak/keycloak:latest
environment:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: pass
...
- 启动所有容器
这次(以及随后的几次)它起作用了。 Keycloak 正在运行,管理员用户已注册并按预期工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)