一、首先创建nexus服务(docker安装nexus)
二、将私有镜像打包到nexus中(需要登录nexus中的docker镜像仓库)
[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打包效果
创建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信息
自定义镜像引用
如上图所示,引用了自定义镜像信息