Docker容器
docker版本 : 1.7.1
系统 版本 :CentOS release 6.8
tomcat版本 :apache-tomcat-7.0.57
memcache版本:yum安装
Docker 容器在运行里有些步骤出错会产生 之类的无效镜像,产生之后直接运行脚本
删除
[root@1xx tom]#cat kong.sh
#!/bin/bash
#
for I in `docker images | grep"" | awk -F" " '{print $3}'`;do
echo"none key name $I"
dockerstop $I
docker rmi -f $I
echo$keys
done
docker images
Tomcat 配置
[root@1xx tom]#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 删除脚本
[root@1xxtom]#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 配置
[root@1xx 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 删除脚本
[root@1xxmemcached]# cat del.sh
#!/bin/bash
#
#
docker rm -f mem1
docker rmi mem
docker build -t mem .
配置完基础镜像运行容器,为方便我这里也定义了脚本
[root@1xx tom]#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
容器tom2号 session信息
JSESSIONID=A4B7390062C98E719D1CBF5C198F835D-n2
JSESSIONID=A4B7390062C98E719D1CBF5C198F835D-n2
验证
Session 信息一致说明成功
Service.xml文件内容
[root@1xx tom]# cat server.xml
Tomcat 数据卷中 tomcat 目录 index.jsp
[root@1xx tom]# cat tom2/index.jsp
tom2
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com