Dockfile自定义Tomcat镜像
拷贝官方镜像中的配置文件出来
# 运行官方镜像,为了得到官方配置文件tomcat_user.xml和server.xml
docker run -itd --restart=always --name=tomcat8 / -v tomcat_webapps:/usr/local/tomcat/webapps / -p 8080:8080 tomcat:8.5.32
# 复制容器中conf/tomcat-user.xml和server.xml到当前目录下
docker container cp tomcat8:/usr/local/tomcat/conf/tomcat-users.xml . docker container cp tomcat8:/usr/local/tomcat/conf/server.xml .
修改配置文件conf/tomcat-user.xml和server.xml,创建manager.xml
编写Dockfile
FROM tomcat:8.5.32 MAINTAINER guxiaotu <524343695@qq.com> ADD server.xml /usr/local/tomcat/conf ADD tomcat-users.xml /usr/local/tomcat/conf ADD manager.xml /usr/local/tomcat/conf/Catalina/localhost/manager.xml # 删除先前的tomcat容器和tomcat镜像 docker rm -f tomcat8 docker rmi tomcat:8.5.32 # 构建自定义的tomcat镜像 docker build -t guxiaotu/tomcat:8.5.32 . # 构建自定义的最新版 docker build -t guxiaotu/tomcat . # 利用自定义的tomcat镜像创建容器,自动建立映射volume卷tomcat_webapps docker run -itd --restart=always --name=tomcat8 / -v tomcat_webapps:/usr/local/tomcat/webapps / -p 8080:8080 guxiaotu/tomcat
可以将构建好的镜像发布到自己的仓库中
# 登录自己的dockerhub仓库,输入用户名和密码 docker login # 发布镜像到自己的仓库 docker push guxiaotu/tomcat:8.5.32 docker push guxiaotu/tomcat:latest
使用tomcat7-maven-plugin部署到远程tomcat服务器
org.apache.tomcat.maven tomcat7-maven-plugin 2.2 http://ip:8080/manager/text tomcat tomcat
运行maven命令(可以结合Jenkins)
mvn clean package tomcat7:redeploy -Dmaven.test.skip=true
备注:我已经打包好guxiaotu/tomcat镜像在docker hub仓库中,最新版latest为8.5.32。必须使用参数–restart=always,否则有时候容器会挂掉。不过使用了volume卷tomcat_webapps,重新创建时所有项目还是存在的
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/118597.html