欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

dockerk8s集群部署tomcat,使用一個鏡像,增加鏡像的復用性。

寫在前面,k8s集群均已經搭建好,具體步驟可以查看前面文章。

成都創(chuàng)新互聯(lián)公司主要從事網站制作、成都網站建設、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務雁峰,十多年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108

編寫Dockerfile文件,目的創(chuàng)建一個可以公用的image,每次部署tomcat直接使用該鏡像不用每次都進行build鏡像。

#?開始本來想使用tomcat的官方鏡像,但是無奈官方鏡像的系統(tǒng)用的都是diban?8的系統(tǒng),因為我要做日志切割,需要安裝cronolog軟件,
#?翻篇google、百度并沒有找到如何使用apt-get?安裝,無奈只能使用源碼安裝,但是安裝過程需要gcc和make的支持
#?使用diban?8的如果不對apt-get?update?操作,安裝不上,但是由于系統(tǒng)落后原因,導致官方或163或清華的源都不支持了。最后無奈使用了ubuntu?14的鏡像。
FROM?ubuntu:14.04.5

#?tomcat安裝目錄
ENV?TOMCAT_HOME?/usr/local/tomcat
#?這里是放server.xml的文件的目錄,這個目錄需要跟tomcat/conf文件夾下的server.xml做一個超鏈接,為什么呢??
#?因為我要使用configmap的方式對配置文件掛載,如果直接掛載到conf目錄下,那么目錄下的其它文件就都沒了。所以我們關在的時候掛載新創(chuàng)建的目錄,然后做一個超鏈接映射。
ENV?SERVER_XML?/configfile
#?配置jdk環(huán)境
ENV?JAVA_HOME?/opt/jdk1.7.0_21
ENV?JRE_HOME?$JAVA_HOME/jre
ENV?JAVA_BIN?$JAVA_HOME/bin
ENV?CLASSPATH?$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
ENV?PATH?$TOMCAT_HOME/bin:$JAVA_BIN:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

#?增加jdk壓縮包到/opt目錄下
ADD?jdk-7u21-linux-x64.tar.gz?/opt
ADD?apache-tomcat-7.0.77.tar.gz??/usr/local

RUN?
ADD?./catalina.sh?$TOMCAT_HOME/bin/
ADD?./cronolog-1.6.2.tar.gz?/opt/
#?這個是自己手動編寫的tomcat啟動腳本,
#?內容很簡單,就兩行,第一行是啟動tomcat使用?sh?/usr/local/tomcat/bin/startup.sh;
#?容器要求必須要有前臺執(zhí)行的進程的容器才不會退出,所以第二行隨便tail?-f?了一個日志即可。
ADD?./start.sh?$TOMCAT_HOME/bin/

WORKDIR?/opt/cronolog-1.6.2
RUN?mv?/usr/local/apache-tomcat-7.0.77?/usr/local/tomcat?&&?chmod?a+x?/usr/local/tomcat/bin/*.sh?&&?\
????apt-get?update?-y?&&?apt-get?install?gcc?make?-y?&&?\
???./configure?&&?make?&&?make?install?&&?chmod?a+x?$TOMCAT_HOME/bin/start.sh??$TOMCAT_HOME/bin/catalina.sh?&&?\
???rm?-rf?$TOMCAT_HOME/webapps/*?&&?rm?-rf?$TOMCAT_HOME/conf/server.xml?&&?mkdir?$SERVER_XML?&&?\
???touch?$SERVER_XML/server.xml??&&?ln?-s?$SERVER_XML/server.xml?$TOMCAT_HOME/conf/server.xml
EXPOSE?8080
ENTRYPOINT?["/bin/sh",?"/usr/local/tomcat/bin/start.sh"]

需要用到配置文件內容如下:

?start.sh?

#!/bin/sh
sh?/usr/local/tomcat/bin/startup.sh
tail?-f?/usr/local/tomcat/bin/catalina.sh

catalina.sh

################以上與原有tomcat默認配置文件一致################
421???#touch?"$CATALINA_OUT"
422???if?[?"$1"?=?"-security"?]?;?then
423?????if?[?$have_tty?-eq?1?];?then
424???????echo?"Using?Security?Manager"
425?????fi
426?????shift
427?????eval?$_NOHUP?"\"$_RUNJAVA\""?"\"$LOGGING_CONFIG\""?$LOGGING_MANAGER?$JAVA_OPTS?$CATALINA_OPTS?\
428???????-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\""?\
429???????-classpath?"\"$CLASSPATH\""?\
430???????-Djava.security.manager?\
431???????-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\""?\
432???????-Dcatalina.base="\"$CATALINA_BASE\""?\
433???????-Dcatalina.home="\"$CATALINA_HOME\""?\
434???????-Djava.io.tmpdir="\"$CATALINA_TMPDIR\""?\
435???????org.apache.catalina.startup.Bootstrap?"$@"?start?\
436???????>>?"$CATALINA_OUT"?2>&1?"&"
437?
438???else
439?????eval?$_NOHUP?"\"$_RUNJAVA\""?"\"$LOGGING_CONFIG\""?$LOGGING_MANAGER?$JAVA_OPTS?$CATALINA_OPTS?\
440???????-D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\""?\
441???????-classpath?"\"$CLASSPATH\""?\
442???????-Dcatalina.base="\"$CATALINA_BASE\""?\
443???????-Dcatalina.home="\"$CATALINA_HOME\""?\
444???????-Djava.io.tmpdir="\"$CATALINA_TMPDIR\""?\
445???????org.apache.catalina.startup.Bootstrap?"$@"?start?2>&1?|?/usr/local/sbin/cronolog?"$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out?>>?/dev/null?&
446?
447???fi
################以下與原有tomcat默認配置文件一致################

下面直接build鏡像就可以了。

創(chuàng)建一個configmap用于存放tomcat的server.xml文件。

kubectl?create?configmap?cm-server.xml?--from-file=‘server.xml的絕對路徑’

編寫k8s的yaml文件

apiVersion:?apps/v1
kind:?Deployment
metadata:
??name:?dubbo-admin
??labels:
????app:?dubbo-admin
spec:
??replicas:?1
??selector:
????matchLabels:
??????app:?dubbo-admin
??template:
????metadata:
??????labels:
????????app:?dubbo-admin
????spec:
??????#?需要仔細說明的地方,這里我們創(chuàng)建了3個volume,分別存放tomcat的log、java項目代碼和一個使用configmap形式存放的tomcat配置文件(server.xml)
??????volumes:
??????-?name:?"code-war"
????????hostPath:?
?????????path:?"/Disk/data/tomcat/dubbo-admin/code/"
??????-?name:?"tomcat-log"
????????hostPath:
?????????path:?"/Disk/data/tomcat/dubbo-admin/log/"
??????-?name:?"serverxml"
????????configMap:
?????????name:?tomcat-dubbo-admin-server.xml
?????????items:
?????????-?key:?server.xml
???????????path:?server.xml
??????containers:
??????-?name:?dubbo-admin
????????#?容器使用剛剛build過的鏡像
????????image:?fushuitong/tomcat:jdk7u21-tomcat7.0.77-cronolog1.6.2
????????ports:
????????-?containerPort:?8080
????????#掛載3個volume,掛載目錄如下
????????volumeMounts:
????????-?name:?code-war
??????????mountPath:?/usr/local/tomcat/webapps
????????-?name:?tomcat-log
??????????mountPath:?/usr/local/tomcat/logs
????????-?name:?serverxml
??????????mountPath:?/configfile

直接創(chuàng)建這個Deployment即可。

創(chuàng)建一個service,把tomcat的端口應道node上,以供外面訪問,如果tomcat前面還有nginx,可以直接映射到clusterIP.使用nginx進行轉發(fā)即可。

變了service的yaml文件

apiVersion:?v1
kind:?Service
metadata:
??name:?dubbo-admin
spec:
??ports:
??-?port:?8080
????nodePort:?32333
????targetPort:?dubbo-admin
????protocol:?TCP
??selector:
????app:?dubbo-admin
??type:?NodePort

最后通過訪問任意node的ip的32333端口就能訪問到對應的tomca項目了。

docker k8s 集群部署tomcat,使用一個鏡像,增加鏡像的復用性。

文章標題:dockerk8s集群部署tomcat,使用一個鏡像,增加鏡像的復用性。
分享路徑:http://chinadenli.net/article36/gsgpsg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站響應式網站營銷型網站建設網站內鏈品牌網站制作服務器托管

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站托管運營