首先我们准备一个 .jar 包,比如我这里的: demo-0.0.1-SNAPSHOT.jar
,现在开始写我们的 Dockerfile
1 2 3 4
| FROM java:8-alpine COPY demo-0.0.1-SNAPSHOT.jar /usr/app/ WORKDIR /usr/app ENTRYPOINT ["java", "-jar", "demo-0.0.1-SNAPSHOT.jar"]
|
然后用 docker 发布出来,并推送上去
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| apiVersion: v1 # 描述文件所遵循KubernetesAPI的版本 kind: Pod # 描述的类型是pod metadata: name: sun-iot-pod # pod的名称 labels: # 标签 app: sun-iot-pod spec: containers: - name: sun-iot-pod # 容器名 image: registry.cn-shanghai.aliyuncs.com/sun-iot/k8s:1.0 # 镜像名称及版本 imagePullPolicy: IfNotPresent # 如果本地不存在就去远程仓库拉取 ports: - containerPort: 8080 # pod对外端口 restartPolicy: Always imagePullSecrets: - name: docker-shanghai-registry-secret # 这里就是前文中创建的secret, 用来访问私库
|
这里注意下,K8S 拉取 Docker 是需要登陆的。这里我们需要配置下:
1
| kubectl create secret docker-registry docker-shanghai-registry-secret --docker-server=registry.cn-shanghai.aliyuncs.com --docker-username=18895378485 --docker-password=<> --docker-email=sunyang_ah@163.com
|
后面的,就和前面的一致了。