[root@master ~]# git clone https://gitee.com/hadeian/tomcat-java-demo-master.git 正克隆到 'tomcat-java-demo-master'... remote: Enumerating objects: 182, done. remote: Counting objects: 100% (182/182), done. remote: Compressing objects: 100% (165/165), done. remote: Total 182 (delta 6), reused 178 (delta 4), pack-reused 0 接收对象中: 100% (182/182), 1.12 MiB | 338.00 KiB/s, 完成. 处理 delta 中: 100% (6/6), 完成. [root@master ~]# ls anaconda-ks.cfg tomcat-java-demo-master //安装环境 [root@master ~]# yum -y install java-1.8.0-openjdk maven //编译构建 如果maven构建慢的话,默认是官方源,可以换阿里云的源vim /etc/maven/settings.xml,大概在(159-164行),更换为如下代码 [root@master ~]# vim /etc/maven/settings.xml[root@master tomcat-java-demo-master]# mvn clean install package '-Dmaven.test.skip=true' central central aliyun maven https://maven.aliyun.com/repository/public
在tomcat目录下构建镜像
[root@master tomcat-java-demo-master]# cd target/ [root@master target]# ls classes ly-simple-tomcat-0.0.1-SNAPSHOT maven-archiver generated-sources ly-simple-tomcat-0.0.1-SNAPSHOT.war maven-status [root@master tomcat-java-demo-maste]# cat Dockerfile FROM lizhenliang/tomcat LABEL maintainer www.ctnrs.com RUN rm -rf /usr/local/tomcat/webapps/ ADD target/ly-simple-tomcat-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war [root@master tomcat-java-demo-master]# docker build -t java-demo:latest . Sending build context to Docker daemon 45.34MB Step 1/4 : FROM lizhenliang/tomcat ---> 143035d83fdc Step 2/4 : LABEL maintainer www.ctnrs.com ---> Using cache ---> c7b67ab30e68 Step 3/4 : RUN rm -rf /usr/local/tomcat/webapps/ ---> Using cache ---> 40884143fd9c Step 4/4 : ADD target/ly-simple-tomcat-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/ROOT.war ---> 0c0011c17dca Successfully built 0c0011c17dca Successfully tagged java-demo:latest [root@master ~]# docker tag 0c0011c17dca bravealove1/java-demo:latest [root@master ~]# docker push bravealove1/java-demo:latest The push refers to repository [docker.io/bravealove1/java-demo] bbc8874d72c7: Pushed 99229ce5b652: Pushed ceead5ca823f: Mounted from lizhenliang/tomcat 2353c173a26a: Mounted from lizhenliang/tomcat 071d8bd76517: Mounted from lizhenliang/tomcat latest: digest: sha256:1441380bf704f4b2de3bf650f48dcee239ac70c87bea7c5bc3318d46f533407a size: 1371
创建控制器管理pod
[root@master ~]# vim deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-java-demo namespace: default spec: replicas: 2 selector: matchLabels: project: www app: java-demo template: metadata: labels: project: www app: java-demo spec: imagePullSecrets: - name: registry-pull-secret containers: - name: tomcat image: bravealove1/java-demo:latest imagePullPolicy: Always ports: - containerPort: 8080 name: web protocol: TCP resources: requests: cpu: 0.25 memory: 1Gi limits: cpu: 1 memory: 2Gi livenessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 60 timeoutSeconds: 20 readinessProbe: httpGet: path: / port: 8080 initialDelaySeconds: 60 [root@master ~]# kubectl adpply -f deployment.yaml deployment.apps/tomcat-java-demo configured [root@master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE NAME READY STATUS RESTARTS AGE pod/tomcat-java-demo-6d798c6996-fjjvk 1/1 Running 0 1m pod/tomcat-java-demo-6d798c6996-lbklf 1/1 Running 0 1m pod/tomcat-java-demo-6d798c6996-strth 1/1 Running 0 1m
暴露应用
[root@master ~]# cat service.yaml apiVersion: v1 kind: Service metadata: name: tomcat-java-demo namespace: default spec: selector: project: www app: java-demo ports: - name: web port: 80 targetPort: 8080 type: NodePort [root@master ~]# kubectl apply -f service.yaml service/tomcat-java-demo created [root@k8s-master java-demo]# kubectl get pod,svc NAME READY STATUS RESTARTS AGE pod/tomcat-java-demo-6d798c6996-fjjvk 1/1 Running 0 3m pod/tomcat-java-demo-6d798c6996-lbklf 1/1 Running 0 3m pod/tomcat-java-demo-6d798c6996-strth 1/1 Running 0 3m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/tomcat-java-demo NodePort 10.1.175.19180:30187/TCP 19s
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)