1. jdk1.8- alpine
准备的文件:
- jdk-1.8.tar.gz
- glibc-2.30-r0.apk
[admin@ansible-001 ~]$vim Dockerfile
FROM alpine:3.10
ADD jdk-1.8.tar.gz /usr/local/
COPY glibc-2.30-r0.apk /tmp/glibc-2.30-r0.apk
RUN cd /tmp/ && \
apk add glibc-2.30-r0.apk --allow-untrusted && \
rm -rf *.apk && \
rm -rf /var/cache/apk/*
ENV JAVA_HOME=/usr/local/jdk-1.8
ENV CLASSPATH=$JAVA_HOME/bin
ENV PATH=.:$JAVA_HOME/bin:$PATH
CMD ["java","-version"]
[admin@ansible-001 ~]$sudo docker build -t harbor.xx.com/library/jdk:1.8-alpine
[admin@ansible-001 ~]$sudo docker push harbor.xx.com/library/jdk:1.8-alpine
2. tomcat:8-jdk8
准备的文件:
- tomcat.tar.gz
[admin@ansible-001 ~]$vim Dockerfile
FROM harbor.xx.com/library/jdk:1.8-alpine
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME
ADD tomcat.tar.gz .
RUN rm bin/*.bat
EXPOSE 8080
CMD ["catalina.sh", "run"]
[admin@ansible-001 ~]$sudo docker build -t harbor.xx.com/library/tomcat:8-jdk8
[admin@ansible-001 ~]$sudo docker push harbor.xx.com/library/tomcat:8-jdk8
测试:
[admin@ansible-001 ~]$vim test.yaml
apiVersion: v1
kind: Pod
metadata:
name: test-pod
spec:
imagePullSecrets:
- name: harbor-admin
containers:
- name: test
image: harbor.xx.com/library/tomcat:8-jdk8
ports:
- containerPort: 8080
env:
- name: JAVA_OPTS
value: -server -Xms${JVM_XMS:-256m} -Xmx${JVM_XMX:-256m} -XX:+UseConcMarkSweepGC
- name: JVM_XMS
valueFrom:
resourceFieldRef:
resource: requests.memory
- name: JVM_XMX
valueFrom:
resourceFieldRef:
resource: limits.memory
resources:
requests:
memory: 1024Mi
limits:
memory: 1024Mi
[admin@ansible-001 ~]$kubecetl apply -f test.yaml
[admin@ansible-001 ~]$kubectl exec -it test-pod -- jinfo 1