当前位置: 首页 > 知识库问答 >
问题:

独立完整版本的“权限被拒绝”错误。从官方jboss/wildfly图像创建自定义图像时使用xml

严开宇
2023-03-14

我正在努力构建一个来自官方jboss/wildfly图像的自定义图像。

如果我只添加了一个。war文件并运行,但当我尝试添加自定义独立完整文件时会出现问题。xml文件

这是我的Dockerfile:

来自jboss/wildfly:10.1。0.决赛

完整复制。xml/opt/jboss/wildfly/standalone/configuration/standalone-full。xml

复制样本。war/opt/jboss/wildfly/standalone/deployments/

CMD["/opt/jboss/野蝇/bin/standalone.sh","-c","standalone-full.xml","-b","0.0.0.0","-bManagement","0.0.0.0"]

这是我的源目录:

链接到源代码目录中ls-la命令的屏幕截图

按照建议,我已经给standalone-full.xml文件755权限。

但是,使用以下命令生成图像后:

docker build-t示例应用程序。

并按如下方式运行图像:

docker run-it-p8080:8080-p80:80-p443:443示例应用程序

我收到以下错误:

13:18:06,274 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.undertow.listener.default: org.jboss.msc.service.StartException in service jboss.undertow.listener.default: WFLYUT0082: Could not start 'default' listener.
    at org.wildfly.extension.undertow.ListenerService.start(ListenerService.java:153)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Permission denied
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.Net.bind(Net.java:425)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:190)
    at org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:243)
    at org.wildfly.extension.undertow.HttpListenerService.startListening(HttpListenerService.java:126)
    at org.wildfly.extension.undertow.ListenerService.start(ListenerService.java:142)

我在运行的容器中执行,查看独立文件的文件权限:

链接到容器的/opt/jboss/wildfly/standalone/configuration/目录中ls-la命令的屏幕截图

如果在运行CMD指令之前将用户更改为root,我可以让应用程序运行,但我认为这不是一个好的做法:

来自jboss/wildfly:10.1。0.决赛

完整复制。xml/opt/jboss/wildfly/standalone/configuration/standalone-full。xml

复制样本。war/opt/jboss/wildfly/standalone/deployments/

用户根

CMD["/opt/jboss/野蝇/bin/standalone.sh","-c","standalone-full.xml","-b","0.0.0.0","-bManagement","0.0.0.0"]

如何正确设置独立文件的权限,以便可以使用jboss用户运行应用程序?

我还尝试按如下方式更改Dockerfile中的权限,以匹配其他文件的权限:

来自jboss/wildfly:10.1。0.决赛

用户根

完整复制。xml/opt/jboss/wildfly/standalone/configuration/standalone-full。xml

运行chownjboss:root/opt/jboss/wildfly/standalone/configuration/standalone-full。xml

用户jboss

复制样本。war/opt/jboss/wildfly/standalone/deployments/

CMD["/opt/jboss/野蝇/bin/standalone.sh","-c","standalone-full.xml","-b","0.0.0.0","-bManagement","0.0.0.0"]

但是,权限没有得到应用,我仍然得到相同的错误。谁能给我指出我犯错误的正确方向吗?

我使用Docker版本17.06.0-ce和overlay2存储驱动程序

共有1个答案

蔺翰音
2023-03-14

您已将wildfly实例配置为侦听TCP/IP端口号

实际上是端口80和443。

通常只有root用户有权在任何基于unix的操作系统(包括Linux)上执行此操作。

 类似资料:
  • 首先,我想说我可能缺少了一些基本的东西,但实际上我是Symfony的新手。 当我从terminal创建包时(我使用的是mac),它给了我这个错误;

  • 问题内容: 我运行 npm install lodash, 但它抛出 错误:EACCES:权限被拒绝 错误。我知道这是权限问题,但据我所知,本地安装节点模块不需要sudo权限。如果我使用sudo运行它,它将安装在〜/ node_modules文件夹中。 drwxrwxr-x 是现有文件夹的文件许可权。我不知道可能出了什么问题。 下面是错误消息。 问题答案: 使用 npm init 创建 packa

  • 我运行npm install lodash,但它抛出错误:EACCES:权限被拒绝错误。我知道这是权限问题,但据我所知,在本地安装节点模块不需要sudo权限。如果我用sudo运行它,它会安装在~/node\u modules文件夹中。drwxrwxr-x是现有文件夹的文件权限。我不知道可能出了什么问题。 下面是错误消息。

  • 我在Ruby 2.0.0-p353和OSX Mavericks上使用Rails 4.0.2、Guard 2.2.4、Guard rspec 4.2.4、rspec Rails 2.14.0、Capybara 2.2.1和Poltergeist 1.5.0。 当我运行bundle exec Guard时,我得到了很多失败的错误消息:一个错误发生在后钩子Errno::EACCES:权限拒绝- /usr

  • 我正在尝试创建一个图像文件到外部存储器以共享它。但在尝试下面的代码时,我遇到了一些错误 到目前为止,我找到的解决方案只有使用 和 设置权限 我已经用过了。但仍然在错误选项卡中获得如下错误 E/path 和在信息选项卡中 W/系统。错误:java。木卫一。IOException:权限被拒绝 W/系统。错误:在java。木卫一。UnixFileSystem。CreateFileExclusivey0(

  • 我想创建一个与自定义信息融合的页面。 API-(POST)汇流/rest/API/content 我能够成功上传文本和图像。如果我对上传到某处的图像使用src, 然后这个图像在我新创建的合流页面上成功可见。 但是,如果我使用src作为数据uri, 然后它不会显示图像。 请注意,API不会抛出任何错误,但也不会显示图像。 工作: 不工作: 任何帮助都将不胜感激。 谢谢