2

我在 Docker 中运行 Tomee7。日志说它开始了,但我无法在 Browser 中看到。

我尝试使用 localhost:8080 以及 docker ip 192.168.99.100:8080

托梅日志:

INFO - Creating Container(id=My Stateless Container)
INFO - Creating ServerService(id=cxf)
INFO - Creating ServerService(id=cxf-rs)
INFO -   ** Bound Services **
INFO -   NAME                 IP              PORT
INFO - -------
INFO - Ready!
INFO - Initialization processed in 2663 ms
INFO - Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'.
INFO - Creating Resource(id=UserDatabase)
INFO - Starting service Catalina
INFO - Starting Servlet Engine: Apache Tomcat (TomEE)/8.5.3 (7.0.1)
INFO - Deploying web application directory /home/test/apache-tomee-plus-7.0.1/webapps/ROOT
INFO - ------------------------- localhost -> /
INFO - Configuring enterprise application: /home/test/apache-tomee-plus-7.0.1/webapps/ROOT
INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
INFO - Auto-creating a container for bean .Comp131040203: Container(type=MANAGED, id=Default Managed Container)
INFO - Creating Container(id=Default Managed Container)
INFO - Using directory /home/test/apache-tomee-plus-7.0.1/temp for stateful session passivation
INFO - Enterprise application "/home/test/apache-tomee-plus-7.0.1/webapps/ROOT" loaded.
INFO - Assembling app: /home/test/apache-tomee-plus-7.0.1/webapps/ROOT
INFO - Deployed Application(path=/home/test/apache-tomee-plus-7.0.1/webapps/ROOT)
INFO - At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
INFO - Deployment of web application directory /home/test/apache-tomee-plus-7.0.1/webapps/ROOT has finished in 729 ms
INFO - Starting ProtocolHandler [http-apr-80]
INFO - Starting ProtocolHandler [https-openssl-apr-8443]
INFO - Server startup in 813 ms

码头工人ps日志:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
e7727df4619b        tomee7              "/bin/sh -c '${TOM..."   2 minutes ago       Up 2 minutes        0.0.0.0:8080->8080/tcp   tomee7

码头机器:

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v17.06.0-ce

tome 服务器:ifconfig 日志

$ docker exec -it tomee7 /bin/bash
root@e7727df4619b:/home/test# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02
          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:828 (828.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:200 (200.0 B)  TX bytes:200 (200.0 B)
4

2 回答 2

0

Tomcat 启动日志说:INFO - Starting ProtocolHandler [http-apr-80]. 我建议tomcat监听80端口。但是你暴露了8080端口。

有两种方法可以修复它:暴露 80 端口(进入 docker 容器)。或者改变tomcat的监听端口。

你能告诉我Dockerfile吗?我尝试修复它。

于 2017-09-04T08:28:51.263 回答
0

看来您正在 Virtualbox 内的虚拟机上运行 Docker。您需要在 VM 上配置端口转发。

如果您打开 VM 设置并选择网络,则应该有一个配置端口转发的选项。您可以在谷歌上搜索确切显示如何执行此操作的屏幕截图或视频,只要确保您使用的是正确的端口号即可。

于 2017-09-20T20:21:05.277 回答