環(huán)境:(docker ,k8s集群),繼續(xù)上次docker 啟動的java程序的鏡像為例(https://www.jb51.net/article/189462.htm)
將制作的鏡像推送到docker的私有倉庫
docker tag demo-img:latest localhost:5000/demo-img:1.0
docker push localhost:5000/demo-img:1.0
![](/d/20211016/072c245ac7a846090f25a886494b6391.gif)
k8s部署該鏡像k8s創(chuàng)建命名空間及secret
創(chuàng)建命名空間cl-test,這里名字根據(jù)自己的命名規(guī)范自己定義,我這是測試用的
kubectl create namespace cl-test
創(chuàng)建完ns后,我們要給這個ns創(chuàng)建secret
kubectl create secret docker-registry regcred --docker-server=your resroty ip:5000 --docker-username=root --docker-password=xxxx@ --docker-email=xxxx@163.com -n cl-test
控制臺返回“secret/regcred created”表示創(chuàng)建成功
創(chuàng)建demo服務的yaml文件,我們service和deployment放在一個yaml文件中
---
apiVersion: v1
kind: Service
metadata:
name: demo-service
namespace: cl-test
labels:
app: demo-service
spec:
type: NodePort
ports:
- port: 8701
targetPort: 8701
protocol: TCP
name: http
selector:
app: demo-pod
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-deployment
namespace: cl-test
spec:
selector:
matchLabels:
app: demo-pod
replicas: 1
template:
metadata:
labels:
app: demo-pod
spec:
containers:
- name: demo-container
image: localhost:5000/demo-img:1.0 #本地私有鏡像庫的鏡像名稱+版本
ports:
- containerPort: 8701
啟動
kubectl create -f demo.yaml
查看pod
kubectl get pod -n cl-test
![](/d/20211016/65403250cdabf8fa6163fa65ebb5708f.gif)
pod日志查看,正是我們之前java啟動時所展示的日志
![](/d/20211016/b14dec66156a16ba8584909b15eb2b4f.gif)
到此這篇關于k8s部署docker容器的實現(xiàn)的文章就介紹到這了,更多相關k8s部署docker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!