假设当前使用者已经具备docker环境:Docker version 20.10.6, build 370c289
镜像库:hub.docker.com/
虚拟机:VMware IP地址:192.168.1.103
如何安装tomcat,如何安装指定版本的tomcat
安装最新版本的tomcat命令如下:
docker pull tomcat 标题所演示的现象使用自该命令而非安装指定版本命令
如何安装指定版本的tomcat命令如下:
docker pull tomcat:jdk8-corretto(指定版本)
安装完成如何启动tomcat
docker run -d –name my-tomcat -p 9090:8080 tomcat
容器暴露8080端口,并指定宿主机9090端口与其通信(: 之前是宿主机端口,之后是容器需暴露的端口)
参数 | 说明 |
---|---|
-d , –detach=false | 指定容器运行于前台还是后台,默认为false |
–name=”” | 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字 |
-p , –publish=[] | 指定容器暴露的端口 |
访问报错
进入启动的Tomcat查看原委
进入容器有两种途径操作如下:
- 使用 CONTAINER ID :docker exec -it 72391683a6ff /bin/bash
- 使用 NAMES :docker exec -it my-tomcat /bin/bash
首先访问tomcat,会加载其默认的webapp文件夹内ROOT文件夹下的index.jsp
仔细观察webapps文件夹为空,而webapps.dist里面确是存放真正访问目录下的内容
如何解决?
将webapps文件夹命令为: webapps-bak
将webapps.dist文件夹命名为:webapps
那问题是不是真的解决了呢?
我将当前启动在容器里面的tomcat,stop一下,然后在容器内将其删除,之后重新启动,再次访问http://192.168.1.103:9090
结论:依旧是404,修改无效,
那么问题来了能不能对修改的内容做成新的镜像并给与版本以做标识呢?
注意:当前先不要stop启动的tomcat
重新启动tomcat:
docker run -d –name my-tomcat -p 9090:8080 tomcat:0.1
成功~~!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END