我正在尝试将MinIO与KeyCloak连接起来,并遵循以下文档中提供的说明:https://github.com/minio/minio/blob/master/docs/sts/keycloak.md
到目前为止,我所做的是为MinIO服务器部署一个Docker容器,为MinioClient部署另一个容器,为KeyCloak服务器部署第三个容器。
正如您在下面的片段中所看到的,Minio客户端容器的配置是正确的,因为我可以列出Minio中可用的桶:
mc ls myminio
[2020-05-14 11:54:59 UTC] 0B bucket1/
[2020-05-06 12:23:01 UTC] 0B bucket2/我在尝试配置MinIO时遇到了一个问题,如文档的步骤3(配置MinIO)中所描述的那样。更详细地说,我运行的命令是:
mc admin config set myminio identity_openid config_url="http://localhost:8080/auth/realms/demo/.well-known/openid-configuration" client_id="account" 我得到的错误是这个:
mc: <ERROR> Cannot set 'identity_openid config_url=http://localhost:8080/auth/realms/demo/.well-known/openid-configuration client_id=account' to server. Get http://localhost:8080/auth/realms/demo/.well-known/openid-configuration: dial tcp 127.0.0.1:8080: connect: connection refused.但是,当我从http://localhost:8080/auth/realms/demo/.well-known/openid-configuration客户端容器中压缩这个地址时,我将检索JSON文件。
发布于 2020-05-29 10:13:58
结果,我所要做的就是将config_url中的config_url从localhost更改为KeyCloak容器(172.17.0.3)的IP。
这只是一个暂时的解决方案,暂时有效,但我将继续寻找更具体的东西,而不仅仅是硬编码的IP。
当我找到解决方案时,这个答案将被更新。
更新
为了克服这些问题,我不得不在下面创建一个docker-compose.yml文件,而不必手动放置KeyCloak容器的IP。
version: '2'
services:
miniod:
image: minio/minio
restart: always
container_name: miniod
ports:
- 9000:9000
volumes:
- "C:/data:/data"
environment:
- "MINIO_ACCESS_KEY=access_key"
- "MINIO_SECRET_KEY=secret_key"
command: ["server", "/data"]
networks:
- minionw
mcd:
image: minio/mc
container_name: mcd
networks:
- minionw
kcd:
image: quay.io/keycloak/keycloak:10.0.1
container_name: kcd
restart: always
ports:
- 8080:8080
environment:
- "KEYCLOAK_USER=admin"
- "KEYCLOAK_PASSWORD=pass"
networks:
- minionw
networks:
minionw:
driver: "bridge"发布于 2020-05-29 10:19:07
当我们指定的主机名或IP上无法访问端口时,就会发生Connection refused。请尝试使用--expose标志和端口号公开端口,当使用停靠器CLI时,您希望公开端口号。然后,您可以在localhost上访问它。
https://stackoverflow.com/questions/62081315
复制相似问题