无法连接到 Dockerfile 中的 Wildfly

2023-12-30

我正在创建一个自定义 Dockerfile,其中包含官方 keycloak docker 映像的扩展。我想更改网络上下文并添加一些自定义提供程序。 这是我的 Dockerfile:

FROM jboss/keycloak:7.0.0

COPY startup-config.cli /opt/jboss/tools/cli/startup-config.cli

RUN /opt/jboss/keycloak/bin/jboss-cli.sh --connect --controller=localhost:9990 --file="/opt/jboss/tools/cli/startup-config.cli"

ENV KEYCLOAK_USER=admin
ENV KEYCLOAK_PASSWORD=admin

和startup-config.cli 文件:

/subsystem=keycloak-server/:write-attribute(name=web-context,value="keycloak/auth")
/subsystem=keycloak-server/:add(name=providers,value="module:module:x.y.z.some-custom-provider")

不幸的是我收到这样的错误:

The controller is not available at localhost:9990: java.net.ConnectException: WFLYPRT0053: Could not connect to remote+http://localhost:9990. The connection failed: WFLYPRT0053: Could not connect to remote+http://localhost:9990. The connection failed: Connection refused
The command '/bin/sh -c /opt/jboss/keycloak/bin/jboss-cli.sh --connect --controller=localhost:9990 --file="/opt/jboss/tools/cli/startup-config.cli"' returned a non-zero code: 1

是本地主机无效的问题吗?我该如何引用管理API?

编辑:我也尝试过ENTRYPOINT代替RUN,但是在容器初始化过程中出现了同样的错误。


您正在尝试让 Wildfly 在构建时加载您的自定义配置文件。问题是,Wildfly 服务器没有运行,而Dockerfile正在建设。

Wildfly 实际上已经为您提供了有关自动加载自定义配置的信息,并且内置了对您想要执行的操作的支持。您只需将配置文件放在映像内的“神奇位置”即可。

您需要将配置文件放到此处:

/opt/jboss/startup-scripts/

这样你的Dockerfile看起来像这样:

FROM jboss/keycloak:7.0.0

COPY startup-config.cli /opt/jboss/startup-scripts/startup-config.cli

ENV KEYCLOAK_USER=admin
ENV KEYCLOAK_PASSWORD=admin

摘自钥匙斗篷文档 https://hub.docker.com/r/jboss/keycloak/:

使用 Dockerfile 添加自定义脚本

可以通过以下方式添加自定义脚本 创建您自己的 Dockerfile:

FROM keycloak 
COPY custom-scripts/ /opt/jboss/startup-scripts/

现在您可以简单地启动图像,keycloak 中的内置功能(实际上是 Wildfly 功能)将在该特定目录中查找配置,然后尝试加载它。

从评论中编辑最终解决方案:

虽然最初的答案解决了能够将配置传递到服务器的问题,但脚本内容仍然存在问题。启动容器时收到以下错误:

=========================================================================
Executing cli script: /opt/jboss/startup-scripts/startup-config.cli
No connection to the controller.
=========================================================================

问题出在startup-config.cli脚本,其中 jboss 命令embed-server丢失,需要启动与 jboss 实例的连接。还缺少结尾stop-embedded-server命令。有关以这种方式配置 jboss 的更多信息,请参阅此处的文档:第 8 章 嵌入服务器以进行离线配置 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/management_cli_guide/running_embedded_server

最终脚本:

embed-server --std-out=echo
/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheThemes,value=false)
/subsystem=keycloak-server/theme=defaults/:write-attribute(name=cacheTemplates,value=false)
stop-embedded-server
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法连接到 Dockerfile 中的 Wildfly 的相关文章

  • Android update 17 似乎与外部 Jars 不兼容

    我刚刚允许我的 Mac 对其 Java 安装进行更新 现在我的一些旧罐子 例如javax mail and apache commons httpclient 正在投掷 找不到类 运行时异常 意思是 它们编译得很好 但在运行时崩溃 出现如下
  • CompletableFuture 强制重用线程

    我正在批判性地利用 CompletableFuture delayedExecutor 1 TimeUnit MILLISECONDS execute gt 根据我在网上阅读的内容 每次调用都使用一个新线程是很常见的 我想知道是否有办法重用
  • n 个素数之和 java,困惑

    我读过几篇关于这方面的文章 我什至在一次考试中这样做过 但是是在 vb net 中 它工作得很好 但是当我尝试执行我的程序时 Eclipse 只是不停地运行 否则它会给我错误的答案 这是我的第四次尝试 我需要将前 n 个素数相加 因此我检查
  • spring依赖注入会创建单例对象吗?

    spring内部是如何管理这些对象的呢 单例对象什么时候创建和销毁 默认情况下 Spring bean 基本上是单例的 Spring 将为每个类创建一个实例 并且通常会在 Spring 初始化时执行此操作 然而 这几乎是无限可定制的 Spr
  • Java:如何将所有 java 日期分组到相应的周中?

    Problem 我有一个很大的日期清单 我需要按周安排它们 问题 如何按以下方式对日期进行分组一年中的一周他们在吗 示例数据集 Date date new SimpleDateFormat parse 04 01 2015 Date dat
  • EventQueue.invokeLater vrs SwingUtilities.invokeLater

    有人可以强调这两者之间的差异以及两者都是必需的实例吗 我有一个可以互换使用两者的应用程序 但想知道其中一个是否比另一个更好 显然他们都接受Runnable object 对我来说 我想我可以使用我喜欢的那个 为什么这两个相似的功能在不同的类
  • 正则表达式忽略引号之间的文本

    我有一个正则表达式 它是 s 这用于分割字符串 但我不想让它分开 如果它在引号中 我不会使用 split 而是使用 Pattern 和 Matcher A demo import java util regex Matcher import
  • java中应用程序的CPU核心数和线程数之间有什么关系?

    我是java新手多线程编程 我想到的问题是 根据我的数量 我可以运行多少个线程CPU核心数 如果我运行的线程超过CPU核心数机器运行应用程序会产生开销吗 例如 当我们有一台服务器计算机 其中有一个运行 2 个线程 主线程 开发人员线程 的服
  • JTable 使用行号?

    我正在创建一个程序 其工作原理如下Microsoft Excel 在JAVA中 我的问题是如何将行号放在每行旁边JTable 我已经看到它在其他 Java 程序中工作 我只是不知道如何将它包含在我的程序中 谷歌给了我这个网站 http ti
  • Java 1.7.51 小程序的互联网限制

    在之前的几个月里 我为一个学术项目开发了一个沙箱 Java 小程序 由于预算有限 我无法与值得信赖的证书颁发机构签署它 随着 Java 1 7 51 的发布 我发现新的安全限制禁止执行小程序 因为缺少签名 到目前为止 我已经找到了解决这个问
  • Java 将字符串拆分为单词逗号和句号

    我一直在使用myString split s 得到每个单词 但现在我想把逗号和句号也分开 例如 妈妈总是说生活就像一盒巧克力 你永远不知道会得到什么 to Mama always said life was like a box of ch
  • Java错误:不是一个语句,我不知道为什么?

    我真的不确定是什么导致发生这个编译时错误 我一直在试图弄清楚 但似乎找不到问题所在 ClassTable java 253 error not a statement class c class classes nextElement Cl
  • Web 服务器上的身份验证和授权 ?

    我正在构建一个 Android 应用程序 它与 apache tomcat 上的 Web 服务器进行通信 Web 服务器采用 JAVA EE 构建 目前 为了进行身份验证和授权 我使用用户名 密码 为了管理会话 我使用令牌 因此 当用户登录
  • 使用 Maven 时如何在 Tomcat 7.0 中将上下文路径设置为根(“/”)

    我有一个maven项目 pom xml包含tomcat插件
  • 使用Java 8开发的程序可以在Java 7上运行吗?

    我有点困惑 Oracle 表示 Java 8 与 Java 7 向后 高度兼容 但是 Java 8 程序有什么可能性可以在 Java 7 上成功运行 SE EE 呢 如果第一点为真 Java 8 应用程序将在 Java 7 服务器支持上部署
  • 无法通过 docker-compose 将音量添加到图像

    我正在尝试添加一个卷Mattermost Mattermost 预览 https hub docker com r mattermost mattermost preview 泊坞窗图像 该镜像的 Dockerfile 不受我控制 是 Co
  • bash 脚本中自动 docker 登录

    我如何提交我的凭据docker login脚本中的命令 我使用的 bash 脚本基本上自动化了设置自定义虚拟机等的整个过程 但是当我需要在脚本中登录 docker 来提取映像时 我收到以下错误 用户名 FATA 0000 设备的 ioctl
  • 如何用java实现FTP?

    我正在使用 FTP 我必须在客户端将消息嵌入到图像文件中 并且我必须将其发送到服务器 在服务器端我必须检索图像文件并然后我将检索该消息 我已经完成了嵌入消息并使用密码学和隐写术技术检索消息 我正在寻找如何将该文件从客户端传输到服务器 我必须
  • Java 8 哈希映射无法正常工作

    自 java 8 以来 我们面临着 HashMap 行为方式的奇怪问题 当HashMap的键实现了Comparable接口 但compareTo的实现与equals不一致时 HashMaps 长得比它们应该长的大得多 它们包含多个相同元素的
  • RuntimeError:无法缓存函数“__jaccard”:没有可用于文件“/usr/local/lib/python3.7/site-packages/librosa/util/matching.py”的定位器

    我正在 Windows 10 机器上对 Flask 应用程序进行 dockerize docker 运行后出现以下错误 RuntimeError 无法缓存函数 jaccard 没有可用于文件 usr local lib python3 7

随机推荐

  • Angular 2 标头和数据

    在 Angular 2 中 有人可以向我展示一个从 JSON api feed 获取标头和数据的基本示例吗 我可以看到很多有关如何仅获取数据的示例 但没有看到获取标题的示例 请您向我展示组件中的代码和服务中的代码吗 那么 标头应该位于响应数
  • 如何将 itertools.product 应用于列表列表的元素? [复制]

    这个问题在这里已经有答案了 我有一个数组列表 我想获得数组中元素的笛卡尔积 我将用一个例子来使这一点更加具体 itertools product 似乎可以解决问题 但我陷入了一些细节 arrays 1 1 2 2 3 3 If I do c
  • URL.Action 带有字符串数组?

    我有一个字符串数组 需要在 Url Action 的查询字符串中传递 Url Action Index Resource new FormatIds Model FormatIDs 现在 该链接在我的浏览器中显示为 System Strin
  • 使用 tomcat 9 创建访问文件的符号链接 - 不起作用

    我正在将 tomcat 7 迁移到 tomcat 9 0 33 下面是 tomcat 7 的符号链接访问配置 但该链接在 tomcat 上不起作用 任何人都可以建议如何解决此问题
  • StAX - 如何将 XMLInputFactory.IS_VALIDATING 设置为 true?

    这是我第一次使用 StAX 来解析 XML 文档 仍处于学习阶段 在使用 XMLStreamReader 解析 XML 文档并使用 XMLStreamWriter 生成文档副本的过程中 我遇到了以下警告 在编写器的输出中以注释形式表示 我理
  • elasticsearch 进程的最大文件描述符 [4096] 太低,至少增加到 [65536]

    使用Ubuntu 16 10 码头工人1 12 3 Docker 作曲家 1 8 官方elastic docker镜像的elastic最新标签 docker compose yml version 2 services elastic im
  • mach_vm_region_recurse,在 osx 上映射内存和共享库

    我使用 vm region recurse 64 来映射给定进程的内存 vmmap 样式 然而 尝试通过检查内存中每个库的 Mach O 标头来获取应用程序加载的共享库的完整列表 但 vm region recurse 似乎与 vmmap
  • java TreeSet:比较和相等

    我想要使 用属性 sort 1 排序的对象列表 但是当我想删除时 我希望它使用属性 id 下面的代码代表了这个问题 package javaapplication1 import java util TreeSet public class
  • Java 中有有序集的实现吗?

    如果有人熟悉 Objective C 有一个名为的集合NSOrderedSet https developer apple com library ios documentation Foundation Reference NSOrder
  • 在 xargs 变量上使用 sed 在 shell 扩展内不起作用

    我正在尝试在 Redis 中进行批量密钥重命名 使用 shell 来替换每个密钥名称 在redis内部似乎没有更好的方法来做到这一点 redis cli n 5 KEYS staging xargs I echo RENAME echo s
  • 在哪里可以找到 WSDL.exe?

    我有 Visual Studio 2010 Ulitmate 带有 MSDN Premium 但我似乎找不到这个文件 我尝试安装 Visual Studio SDK 但似乎找不到该文件 我看过 C Windows Microsoft NET
  • 本地主机在 Chrome 中无法工作,127.0.0.1 可以工作

    我正在尝试运行本地节点服务器 但出于某种原因localhost 3000不起作用 错误页面指出This webpage is not available ERR CONNECTION CLOSED然而 127 0 0 1 3000确实有效
  • opencv中图像的二值化

    我在图像二值化方面遇到问题 通常可能模糊 我有这个图像 完成二值化后我得到 我怎样才能更好地进行二值化 我的目标是只有黑色背景和白色字母 没有其他东西 我使用了自适应阈值二值化 cv2 adaptiveThreshold image gs
  • 如何在 ASP.NET C# 中从 Mailgun 接收 HTTP POST?

    http documentation mailgun net quickstart html http documentation mailgun net quickstart html包含 Django 中 http 处理程序的一些示例代
  • 打开deploy.prototxt时出现运行时错误

    我正在尝试使用 caffe 运行一个应该打开的简单代码deploy prototxt但它无法打开文件并引发此错误 RuntimeError Could not open file home ebadawy git caffemodels b
  • XSD 和多态性

    我有点重复这个问题第一次被错误地问到 我有这个
  • 使用一个 NetStream 对象同时传输两个 Video 对象

    我试图将单个 NetStream 对象附加到两个单独的视频对象 而不是从服务器拉出冗余流 预期的行为是两个视频显示相同的内容 但是 我附加 NetStream 的最后一个视频似乎是唯一会显示内容的视频 还有其他人遇到过这个吗 如果不需要 我
  • 白色背景的错误屏幕

    当 iOS 上的 React Native 出现异常时 我会看到带有白色背景的错误屏幕 您可以通过点击的单元格看到它实际上具有异常堆栈 只是具有白色背景 不知道为什么会发生这种情况 但是有办法解决吗 在 Android 上 屏幕有红色背景
  • 如何访问 TTestSetup 类中 TTestCase 的字段

    我正在使用 DUnit 创建单元测试 我有一个类需要很长时间才能初始化 我从 TTestSetup 派生一个类 TMyTestSetup 并重写其 Setup 方法 对于我的 TTestCase 中的所有测试 仅调用此 SetUp 方法一次
  • 无法连接到 Dockerfile 中的 Wildfly

    我正在创建一个自定义 Dockerfile 其中包含官方 keycloak docker 映像的扩展 我想更改网络上下文并添加一些自定义提供程序 这是我的 Dockerfile FROM jboss keycloak 7 0 0 COPY