【Docker】如何用Docker安装Tomcat

请添加图片描述


专栏精选文章

  1. 《Docker是什么?Docker从介绍到Linux安装图文详细教程》
  2. 《30条Docker常用命令图文举例总结》
  3. 《Docker如何构建自己的镜像?从镜像构建到推送远程镜像仓库图文教程》
  4. 《Docker多个容器和宿主机之间如何进行数据同步和数据共享?容器数据卷从介绍到常用操作图文教程》



1. 搜索镜像

  1. Docker Hub 上查找 Tomcat 镜像。

image-20221212195411919

复制右侧的命令即可下载最新版的 Tomcat 。

image-20221212195514981


2. 拉取镜像

  1. 从 Docker Hub 上拉取 Tomcat 镜像到本地仓库。
$ docker pull tomcat

Tomcat 的镜像还算是比较大的,一共 680 MB 。

image-20221212200136778


3. 查看镜像

  1. docker images 查看是否有拉取到 Tomcat 镜像。
$ docker images -a

image-20221212200228573


4. 启动容器

  1. 使用 Tomcat 镜像创建容器实例。
$ docker run -d -p 8080:8080 --name t1 tomcat:latest

这一步的 Docker 命令是比较复杂的,各个可选项的说明如下。

可选参数说明
-p设置端口映射,宿主机端口:容器端口
-P随机分配端口
-i前台交互式启动,通常与 -t 配合使用
-t启动容器内的伪终端,通常与 -i 配合使用
-d后台守护式启动
–name为容器命名

image-20221212200610167

查看正在运行的容器。

$ docker ps

image-20221212200721043

Tomcat 容器 t1 已经成功运行了。

注意,确保你的宿主机防火墙关闭或者开放了 8080 端口。

如果你是新手,很懒,我建议你直接关闭宿主机的防火墙:

$ systemctl stop firewalld
$ systemctl disable firewalld
$ firewall-cmd --reload

如果你在企业,不能关闭防火墙,那就只放开 Tomcat 的端口 8080 :

$ firewall-cmd --zone=public --remove-port=8080/tcp --permanent

查看宿主机已经放开的端口:

$ firewall-cmd --zone=public --list-ports

image-20221212203522568


5. 访问主页

  1. 访问 Tomcat 猫首页。

在 Windows 电脑上打开浏览器,地址栏输入:

http://192.168.168.101:8080

image-20221212201011511

但是访问失败,这是因为最新版的 Tomcat 在首页上的访问是不一样的。

【解决办法】

首先以前台交互式进入 Tomcat 容器 t1 中。

$ docker exec -it t1 /bin/bash

image-20221212201819296

查看当前目录。

$ ls -l

image-20221212202114890

所有网页资源都应该在 webapps 目录下,进入看看。

$ cd webapps
$ ls -l

image-20221212202237905

发现是空的,这就解释了为什么没办法访问 Tomcat 猫首页了。新版的 Tomcat 的猫首页放在了 webapps.dist 里,我们只需要把 webapps 目录删除,再把 webapps.dist 重命名为 webapps 即可。

$ rm -rf webapps
$ mv webapps.dist webapps

image-20221212202723047

再次在浏览器中访问:

http://192.168.168.101:8080

image-20221212202916783

成功访问 Tomcat 首页。此时也可以发现 Tomcat 版本是 10.0 ,算是比较高的版本了,一般现在企业用的还都是 8 或 9 。


6. 拉取免修改的Tomcat8镜像

  1. 免修改版说明。

正如上面所演示的,最新的 Tomcat 10 在主页上的改动对新手是不太友好的。在企业中绝大部分都还在用 Tomcat 8.0 或 9.0 ,这已经够用了。因此,我们删除最新版的 Tomcat 容器和镜像,转而下载带有 JDK 8 的 Tomcat 8.0 版本镜像。

删除 Tomcat 容器:

$ docker rm -f t1

删除 Tomcat 镜像:

$ docker rmi -f tomcat:latest

image-20221212204223941

拉取带有 JDK 8 的 Tomcat 8.0 版本镜像:

$ docker pull billygoo/tomcat8-jdk8

image-20221212204557845

使用该镜像创建 Tomcat 容器实例 t8

$ docker run -d -p 8080:8080 --name t8 billygoo/tomcat8-jdk8:latest

image-20221212204722987

在浏览器中访问:

http://192.168.168.101:8080

image-20221212204845306

直接就可以访问 Tomcat 的主页,不需要做任何修改。可以看到 Tomcat 版本是 8.0.53 ,比最新版的 Tomcat 10.0 对新手更友好。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自牧君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值