错误---默认情况下未启用Docker wildfly控制台端口

时间:2018-11-07 23:43:42

标签: java docker jboss console wildfly

我对docker wildfly容器有问题。问题如下,我要使用默认端口8080(对于应用程序)和9090(对于控制台)加载的不同端口启动容器。通过此说明,我设法更改了应用程序的默认端口

docker run -P -d jboss / wildfly /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0

-P标志将映像内的所有网络端口映射到Docker主机上从49153到65535范围内的随机高端口

但是我无法访问管理控制台,另一方面,我使用这些值创建了一个dockerfile

FROM jboss / wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin # 70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0", "-Djboss.socket.binding.port-offset = 5 "]

另外一个通过删除偏移值

FROM jboss / wildfly
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin # 70365 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]

我可以提起容器,但仍然无法访问Wildfly管理控制台。我该怎么做才能启动控制台?

1 个答案:

答案 0 :(得分:0)

您需要使用“ -p”分隔端口映射:

-p=[]      : Publish a container's port or a range of ports to the host

带有“-P”(大写)选项:将所有公开的端口发布到主机界面。

如果您仍要使用“ -P”选项,请使用Dockerfile :(为管理管理控制台添加EXPOSE端口)

    FROM jboss/wildfly

    # Expose the ports we're interested in
    EXPOSE 9990

    RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin#70365 --silent
    CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]

然后您可以构建图像:

 docker build --tag=jboss/wildfly-admin .

运行它:

docker run -it -P jboss/wildfly-admin

列出容器:

docker container ls

您可以在这里获得相同的结果:

CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
91b6bc131b28        jboss/wildfly-admin   "/opt/jboss/wildfly/…"   13 seconds ago      Up 12 seconds       0.0.0.0:32771->8080/tcp, 0.0.0.0:32770->9990/tcp   quirky_nightingale

您的容器正在运行,并公开端口32770进行管理。 管理控制台应位于http://localhost:32770(就我而言)