zwd 发表于 2018-12-1 10:26:47

docker实现tomcat+jdk+msm

  Docker容器
  docker版本      : 1.7.1
  系统    版本   :CentOS release 6.8
  tomcat版本    :apache-tomcat-7.0.57
   memcache版本:yum安装
  

  Docker 容器在运行里有些步骤出错会产生之类的无效镜像,产生之后直接运行脚本
  删除
  #cat kong.sh
#!/bin/bash
#

for I in `docker images | grep"" | awk -F" " '{print $3}'`;do
   echo"none key name $I"
   dockerstop $I
   dockerrmi -f $I
   echo$keys
done
docker images
  
Tomcat 配置
  #cat Dockerfile
FROM centos                                                   #基础镜像来自于centos
MAINTAINER xiong   #作者信息
#安装ifconfig 类型工具
RUN yum -y install net-tools                                    

#ADD复制本地文件并自动解压至目录下
ADD apache-tomcat-7.0.57.tar.gz/usr/local/

# 运行软链接命令
RUN ln -sv /usr/local/apache-tomcat-7.0.57/usr/local/tomcat

# 定义tomcat环境变量值
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $PATH:$CATALINA_HOME/bin

#复制jdk文件到root目录并使用rpm命令安装
COPY jdk-7u79-linux-x64.rpm /root/
RUN rpm -ivh/root/jdk-7u79-linux-x64.rpm

#定义java环境变量
ENV JAVA_HOME=/usr/java/latest
ENV PATH $PATH:$JAVA_HOME/bin

# 当机器运行里自动启动,此处可省略
RUN echo"/usr/local/tomcat/catalina.sh start" >> /etc/rc.d/rc.local

# 产先配置好server.xml文件然后直接复制到conf文件目录下
COPY server.xml /usr/local/tomcat/conf/

# 复制msm文件至lib文件下
COPY mem/* /usr/local/tomcat/lib/

# 运行启动catalina.sh脚本使用run 脚本在运行之后启动并打印debug信息在使用ctrl+p ctrl+q 运行容器,否则脚本运行后之后脚本会退出
CMD["catalina.sh","run"]
Msm下载
  memcached session manager
  https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration
  
   memcached-session-manager-tc6-${version}.jar for tomcat6,
   memcached-session-manager-tc7-${version}.jar for tomcat7
  (attention: tomcat 7.0.23+) or memcached-session-manager-tc8-${version}.jar for tomcat8.
  
  下载需要注意版本信息      并且需要注意的是版本号需要对应一致否则有可能报错
  javolution-5.4.3.1.jar         
  memcached-session-manager-tc7-2.1.1.jar            
  spymemcached-2.11.1.jar
  memcached-session-manager-2.1.1.jar
  msm-javolution-serializer-2.1.1.jar                        #也可以选择其它
tomcat删除脚本
  #cat del.sh
#!/bin/bash
#
docker rm -f tom{1..9}
docker rm -f mem{1..9}
docker rmi xiong
docker build -t xiong .
docker images
Memcached 配置
  # cat Dockerfile
  FROMcentos                                                          #基础镜像来自于centos
MAINTAINER xiong812374156@qq.com      #作者信息
RUN yum -yinstall memcached net-tools      #安装mem以及ifconfig 类型工具
  #运行memcached命令,别使用daemon 脚本在运行完之后容器会自动退出
CMD["/usr/bin/memcached","-p","11211","-m","64","-c","1024","-u","root"]
Memcached删除脚本
  # cat del.sh
#!/bin/bash
#
#
docker rm -f mem1
docker rmi mem
docker build -t mem .
  配置完基础镜像运行容器,为方便我这里也定义了脚本
  #cat docktest.sh
  #!/bin/bash
  #
  # docker 运行容器名称tom2 端口本地92 容器8080 数据卷本地xx/xx/tom2/ 容器/web/apps 基础镜像
  docker run -it--name tom2 -p 92:8080 -v /root/tom/tom2:/web/apps/ xiong
  docker run -it--name tom3 -p 93:8080 -v /root/tom/tom3:/web/apps/ xiong
  
  #docker 运行容器名称m2m1 端口本地201 远端11211 基础镜像
  docker run -it--name mem1 -p 201:11211 mem
  docker run -it--name mem2 -p 202:11211 mem
  
  docker ps
  # 测试容器memcached是否运行成功 本地运行telnet
https://s1.运维网.com/wyfs02/M02/8D/A5/wKioL1ilFLDBMnTXAAAo4BUoDcc821.png-wh_500x0-wm_3-wmp_4-s_174397445.png
  容器tom2号 session信息
https://s3.运维网.com/wyfs02/M01/8D/A7/wKiom1ilFJrwV4zbAAC3niGsd7c947.png-wh_500x0-wm_3-wmp_4-s_1465351516.png
  JSESSIONID=A4B7390062C98E719D1CBF5C198F835D-n2
  
  
https://s5.运维网.com/wyfs02/M01/8D/A7/wKiom1ilFH3jTqDmAACpMmwzn3k170.png-wh_500x0-wm_3-wmp_4-s_1845582411.png
  JSESSIONID=A4B7390062C98E719D1CBF5C198F835D-n2
  
  
验证
  Session信息一致说明成功
  Service.xml文件内容
  # cat server.xml

















   
   





   
   


   
   
   
   
   
   

   
   


   

   
   

      
      

      
      
      
      
      

      
      
            
   
      
      

   






Tomcat数据卷中 tomcat 目录 index.jsp
# cat tom2/index.jsp



      
                tom2
      
      
               
      


  




页: [1]
查看完整版本: docker实现tomcat+jdk+msm