docker - Dockerfile JBOSS 不访问本地
问题描述
我正在创建一个运行 JBOSS EAP 7 的 Dockerfile,请参阅我的 dockerfile:
FROM mlaccetti/docker-debian-java8
# file author / maintainer
MAINTAINER "Ronaldo Lanhellas" "ronaldo.lanhellas@gmail.com"
USER root
RUN apt-get update;apt-get install sudo -y
RUN adduser --disabled-password --gecos '' docker
RUN adduser docker sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER docker
RUN sudo mkdir -p /opt/jboss/jboss-eap-7.0
COPY jboss-eap-7.0 /opt/jboss/jboss-eap-7.0
ENV JBOSS_HOME /opt/jboss/jboss-eap-7.0
RUN sudo chown -R docker:docker /opt/jboss/*;sudo chmod +x /opt/jboss/jboss-eap-7.0/bin/standalone.sh
RUN java -version
#RUN sudo apt-get install default-jdk -y
CMD sudo sh $JBOSS_HOME/bin/standalone.sh
EXPOSE 8080 9990
jboss-eap-7 正常启动,server.log 中没有错误。但试图从主机访问地址-> http://localhost:8080我无法访问。
编辑 1 查看 docker container 内部,这是我的 IP:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
44: eth0@if45: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
但我的网络(主机)是:192.168.0.x。为什么 docker 不使用与主机相同的 ip 或同一网络中的另一个 ip?我认为这可能是问题的原因。
解决方案
您需要发布 container᾿s 端口,如下所示:
docker run -p 8080:8080 mlaccetti/docker-debian-java8
推荐阅读
- symfony - Symfony 用户仅对一个请求保持身份验证
- jquery - jQuery get():如何通过结果显示主题循环
- excel - 通过 ODBC 连接使用 excel vba 进行 SQL 查询
- azure - 如何在使用 Azure AD 身份验证的 Jenkins 中读取队列状态?
- bash - 容器运行时如何使用 dockerfile 运行 .sh 文件
- angular - 在 Angular 8 中使用动态表单创建复选框
- javascript - 在没有 Gulp、Webpack 等的情况下转译、捆绑和缩小 JS - 仅限节点
- python - 有没有一种有效的方式来接收我的 python 应用程序的数据更新?
- spring - 通过 Spring CrudRepository 使用 Hibernate 保存大量数据
- vba - 使用VBA将文件保存到临时文件路径时如何解决多个用户ID