一、首先創(chuàng)建nexus服務(wù)(docker安裝nexus)
二摹察、將私有鏡像打包到nexus中(需要登錄nexus中的docker鏡像倉(cāng)庫(kù))
[root@master oaim-project]# ls
Dockerfile jar mvnw mvnw.cmd pom.xml README.md src target
[root@master oaim-project]# docker build -t 192.168.121.128:8082/oaimweb-pack:latest .
[root@master oaim-project]# docker push 192.168.121.128:8082/oaimweb-pack:latest
Dockerfile信息
[root@master oaim-project]# cat Dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} oaim.jar
ENTRYPOINT ["java","-jar","/oaim.jar"]
nexus打包效果
創(chuàng)建k8s連接nexus信息
[root@master oaim]# kubectl create secret docker-registry nexus --docker-server=192.168.121.128:8082 --docker-username=admin --docker-password=root
三、編寫yaml信息
[root@master oaim]# cat oaim-webpack.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: oaim-webpack
spec:
replicas: 1
selector:
matchLabels:
app: oaim-webpack
template:
metadata:
labels:
app: oaim-webpack
spec:
containers:
- name: oaim-webpack
image: 192.168.121.128:8082/oaimweb-pack:latest
imagePullPolicy: Always
ports:
- containerPort: 8085
imagePullSecrets:
- name: nexus
---
apiVersion: v1
kind: Service
metadata:
name: oaim-webpack
spec:
type: LoadBalancer
ports:
- port: 8085
targetPort: 8085
nodePort: 8085
selector:
app: oaim-webpack
yaml中的imagePullSecrets
引用secret信息
自定義鏡像引用
如上圖所示倡鲸,引用了自定義鏡像信息