Docker 07 部署Tomcat

部署 Tomcat 可以参考 Docker Hub 官方文档:https://hub.docker.com/_/tomcat

1、启动Tomcat

docker run -d -p 8080:8080 --name=tomcat01 tomcat
[root@sail bin]# docker run -d -p 8080:8080 --name=tomcat01 tomcat
Unable to find image 'tomcat:latest' locally
latest: Pulling from library/tomcat
5e0b432e8ba9: Pull complete 
a84cfd68b5ce: Pull complete 
e8b8f2315954: Pull complete 
0598fa43a7e7: Pull complete 
e0d35e3be804: Pull complete 
8fc448a0c88b: Pull complete 
dbdff6e5955b: Pull complete 
5daf3771e3d8: Pull complete 
e4265b3badfc: Pull complete 
126f233cb97a: Pull complete 
Digest: sha256:429d5c140820d5eba38042823501d5f4e0f03b282133513e29c22d6358daa7c7
Status: Downloaded newer image for tomcat:latest
fe247e0ef80de961df2f73216b3c604d97094b9a35064f9bef421243e610e487
[root@sail bin]# docker ps
CONTAINER ID   IMAGE     COMMAND             CREATED              STATUS              PORTS                    NAMES
fe247e0ef80d   tomcat    "catalina.sh run"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp   tomcat01

这里选择直接启动的方式,若本地没有该镜像,则先从官方库拉取。

2、进入容器

docker exec -it tomcat01 /bin/bash
[root@sail sail]# docker exec -it tomcat01 /bin/bash
root@fe247e0ef80d:/usr/local/tomcat# ls
BUILDING.txt  CONTRIBUTING.md  LICENSE	NOTICE	README.md  RELEASE-NOTES  RUNNING.txt  bin  conf  lib  logs  native-jni-lib  temp  webapps  webapps.dist  work
root@fe247e0ef80d:/usr/local/tomcat# cd webapps
root@fe247e0ef80d:/usr/local/tomcat/webapps# ls
root@fe247e0ef80d:/usr/local/tomcat/webapps# 

这里发现一个情况,Tomcat 下的 webapps 没有文件,所以 Tomcat 的初始页面是不能显示的。

这也是 Docker 的精髓,只保留最核心的东西,剔除所有不必要的内容

这也并非不可解决,webapps 的默认内容是存放在 webapps.dist 中的:

root@fe247e0ef80d:/usr/local/tomcat# cd webapps.dist
root@fe247e0ef80d:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager

webapps.dist 中的内容复制到 webapps 下:

root@fe247e0ef80d:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@fe247e0ef80d:/usr/local/tomcat# cd webapps
root@fe247e0ef80d:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager

3、外网访问测试

命令测试:

root@fe247e0ef80d:/usr/local/tomcat/webapps# ll
bash: ll: command not found

这里又发现一个情况,ll 这种相对基础的命令都是没有的,如此也可以看出 Docker 极致的精简。


参考

https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0

https://www.bilibili.com/video/BV1kv411q7Qc?spm_id_from=333.999.0.0

版本

CentOS 7.6

Docker 20.10.11

posted @ 2021-12-10 16:44  天航星  阅读(107)  评论(0编辑  收藏  举报