Docker
1 基础知识
– Tomcat服务是一个开源免费的WEB应用服务器
– Tomcat属于轻量级应用服务器(适用于中小型低并发环境)
– Tomcat是开发和调试JSP程序额首先
– Tomcat实际上是Apache服务器的扩展(独立运行)
2 最佳实践
2.1 部署Docker集群
如果你尚未部署Docker集群环境,请参阅如下章节部署,
2.2 部署前的准备
In docker01
cd /data/docker/images/ docker load -i tomcat_8.0.47.tar docker tag tomcat:8.0.47 docker01.cmdschool.org:5000/tomcat:8.0.47 docker push docker01.cmdschool.org:5000/tomcat:8.0.47 docker image rm tomcat:8.0.47
另外,安装包的离线下载请在能上网的docker环境的机器上使用如下命令,
docker pull tomcat:8.0.47 docker save tomcat:8.0.47 -o tomcat_8.0.47.tar
另外,其他版本请从以下链接下载,
https://hub.docker.com/_/tomcat
2.2 部署tomcat
In docker01
2.2.1 创建服务配置文件
vim /data/docker/yml/tomcat-stack.yml
加入如下配置,
version: '3.8'
services:
tomcat:
image: docker01.cmdschool.org:5000/tomcat:8.0.47
#volumes:
# - /data/docker/service/tomcat/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
# - /data/docker/service/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml
# - /data/docker/service/tomcat/webapps:/usr/local/tomcat/webapps
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
deploy:
replicas: 1
placement:
constraints: [node.labels.tomcat == true]
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "5"
根据配置需求创建数据存放目录,
In docker01
mkdir -p /data/docker/service/tomcat
根据配置的需求设置运行标记,
In docker01
docker node update --label-add tomcat=true docker01.cmdschool.org
2.2.2 部署服务
docker stack deploy -c /data/docker/yml/tomcat-stack.yml tomcat
2.2.3 测试容器使用
In docker02
docker exec -it `docker container ls | grep 'tomcat' | cut -d" " -f1 ` bash
2.2.4 访问测试页
http://10.168.0.210:8080/
可见如下显示,

2.3 数据持久化
2.3.1 修改配置文件
vim /data/docker/yml/tomcat-stack.yml
加入如下配置,
version: '3.8'
services:
tomcat:
image: docker01.cmdschool.org:5000/tomcat:8.0.47
volumes:
- /data/docker/service/tomcat/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
- /data/docker/service/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml
- /data/docker/service/tomcat/webapps:/usr/local/tomcat/webapps
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
deploy:
replicas: 1
placement:
constraints: [node.labels.tomcat == true]
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "5"
2.3.2 根据配置准备容器所需的文件或目录
mkdir -p /data/docker/service/tomcat /data/docker/service/tomcat/conf docker cp `docker container ls | grep 'tomcat' | cut -d" " -f1 `:/usr/local/tomcat/conf/server.xml /data/docker/service/tomcat/conf/server.xml docker cp `docker container ls | grep 'tomcat' | cut -d" " -f1 `:/usr/local/tomcat/conf/tomcat-users.xml /data/docker/service/tomcat/conf/tomcat-users.xml docker cp `docker container ls | grep 'tomcat' | cut -d" " -f1 `:/usr/local/tomcat/webapps/ /data/docker/service/tomcat/
2.3.3 部署服务
docker stack deploy -c /data/docker/yml/tomcat-stack.yml tomcat
2.2.4 测试容器使用
In docker02
docker exec -it `docker container ls | grep 'tomcat' | cut -d" " -f1 ` bash
2.2.5 访问测试页
http://10.168.0.210:8080/
可见如下显示,

参阅文档
=====================
官方参阅
————
https://hub.docker.com/_/tomcat
文件兼容性参考
————–
https://docs.docker.com/compose/compose-file/
没有评论