
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/
没有评论