參考資訊:
https://cwienczek.com/2020/06/import-images-to-k3s-without-docker-registry/
Dockerfile
FROM nginx RUN echo "123" > /MyDockerImage
建立Docker Image
$ sudo docker build -t mydocker . $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE mydocker latest d9803798f068 43 seconds ago 188MB $ sudo docker save mydocker -o mydocker.tar $ ls -al mydocker.tar -rw------- 1 root root 191824896 May 15 08:31 mydocker.tar
匯入Docker Image到K3s
$ sudo k3s ctr image import mydocker.tar $ sudo k3s ctr image ls docker.io/library/mydocker:latest
main.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: mydocker imagePullPolicy: Never ports: - containerPort: 80
建立Pod
$ kubectl create -f main.yaml $ kubectl get pod NAME READY STATUS RESTARTS AGE nginx-deployment-574c6948bf-6cxcd 1/1 Running 0 13s
運行Pod
$ kubectl exec -it nginx-deployment-574c6948bf-6cxcd -- /bin/bash root@nginx-deployment-574c6948bf-6cxcd:/# cat /MyDockerImage 123
刪除Pod
$ kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 1/1 1 1 111s $ kubectl delete deployment nginx-deployment deployment.apps "nginx-deployment" deleted $ kubectl get pod No resources found in default namespace.