如何禁用Docker容器中Infinispan服务器的登录认证
解决Docker中Infinispan 10.1.8.Final认证禁用及配置文件被覆盖问题
一、先解决infinispan.xml被镜像覆盖的问题
官方镜像启动时会执行初始化流程,直接在容器启动后复制配置文件会被默认文件覆盖。推荐两种可靠的解决方式:
方式1:通过环境变量跳过配置文件修改(最简便)
Infinispan官方镜像支持用环境变量直接控制认证开关,无需修改infinispan.xml,自然避免覆盖问题。启动容器时添加以下参数:
docker run -d -p 11222:11222 \ -e INFINISPAN_AUTHENTICATION_ENABLED=false \ -v /本地路径/cache.xml:/opt/infinispan/server/data/cache.xml \ infinispan/server:10.1.8.Final
-v参数用于挂载你的cache.xml到容器指定目录,保证配置生效。
方式2:构建自定义镜像(适合需要复杂自定义配置的场景)
- 在本地创建
Dockerfile:
FROM infinispan/server:10.1.8.Final # 复制自定义配置文件到容器对应目录 COPY infinispan.xml /opt/infinispan/server/conf/ COPY cache.xml /opt/infinispan/server/data/
- 构建自定义镜像:
docker build -t my-custom-infinispan:10.1.8 .
- 启动自定义镜像:
docker run -d -p 11222:11222 my-custom-infinispan:10.1.8
二、修改infinispan.xml禁用认证(若选择方式2时需要)
打开你的infinispan.xml,调整安全配置:
<server xmlns="urn:infinispan:server:10.1"> <!-- 保留其他原有配置 --> <security> <!-- 直接关闭认证开关 --> <authentication enabled="false"/> </security> <endpoints> <!-- 移除端点的安全域关联(如果原有配置存在) --> <endpoint socket-binding="default"/> </endpoints> </server>
修改后放入自定义镜像构建即可,启动后Infinispan的UI和API都会跳过登录认证。
内容的提问来源于stack exchange,提问作者Jai Bharati
相关产品推荐
相关产品推荐

