docker和Tomcat都已启动,但是PS进场看不到Tomcat,

img


docker和Tomcat都已启动,但是PS进场看不到Tomcat,求指导

很明显,报错了,启动就退出了

img

查看一下日志,docker logs 容器id

docker logs 容器id输出截图贴一下,貌似是少了路径文件setclasspath.sh

  • 这篇文章:Docker-Tomcat为何看不到访问界面? 也许能够解决你的问题,你可以看下
  • 除此之外, 这篇博客: docker容器中启动tomcat遇到的端口问题中的 docker容器中启动tomcat遇到的端口问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 上篇博文中tomcat已经成功启动,按照同样的方法,在docker容器中进行配置,tomcat启动是没有问题的,但是我要在浏览器中访问容器中的tomcat是访问不到的,考虑到可能是端口的问题

    容器中的端口要映射到宿主机的端口,浏览器通过访问宿主机的端口来访问容器中的端口,在创建容器的时候可以加上-p参数进行端口的映射
    在这里插入图片描述如果我已经建好容器,可以通过修改容器配置文件来添加端口
    配置文件在docker默认安装路径下

    /var/lib/docker/containers/d10734be7a1adda21dbc3b422e28f7bfe01b89a23ade133f375ee78719683bf9
    

    d10734be7a1adda21dbc3b422e28f7bfe01b89a23ade133f375ee78719683bf9这一长串是容器的ID,找到要配置的容器的ID进去即可看到下面两个配置文件

    修改config.v2.json 和hostconfig.json这俩文件
    在这里插入图片描述

    (1)修改hostconfig.json
    下图这个配置项,可以改成 “PortBindings”:{“8180/tcp”:[{“HostIp”:"",“HostPort”:“8180”}]}这里8180/tcp是容器端口,8180 是本地端口
    在这里插入图片描述
    (2)修改config.v2.json
    添加一个配置项 “ExposedPorts”:{“8180/tcp”:{}},
    将这个配置项添加到 “Tty”: true, 前面,这个是将容器内部端口暴露出来,如果不加这一句端口映射不会成功的
    在这里插入图片描述
    最后重启 docker容器

    docker restart 容器名

    浏览器访问http://14.1.11.111:8180,即可访问到容器中的tomcat

  • 您还可以看一下 刘磊老师的Docker企业应用实战课程中的 安装TomCat小节, 巩固相关知识点