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
天河有尽身作涯,星海无边前是岸。