मिनिक्यूब के साथ स्थानीय डॉकटर छवियों का उपयोग कैसे करें?


299

मेरे पास कई डॉकटर चित्र हैं जिनका मैं उपयोग करना चाहता हूं minikube। मुझे पहले अपलोड नहीं करना है और फिर सीधे स्थानीय छवि का उपयोग करने के बजाय उसी छवि को डाउनलोड करना है। मैं यह कैसे करु?

सामग्री मैंने कोशिश की:
1. मैंने इन कमांडों को चलाने की कोशिश की (अलग-अलग, दोनों बार मिनीब्यूब के उदाहरणों को हटाना और नए सिरे से शुरू करना)

kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989
kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 imagePullPolicy=Never

आउटपुट:

NAME                    READY     STATUS              RESTARTS   AGE
hdfs-2425930030-q0sdl   0/1       ContainerCreating   0          10m

यह बस कुछ स्थिति पर अटक जाता है लेकिन कभी भी तैयार स्थिति तक नहीं पहुंचता है।


2. मैंने एक रजिस्ट्री बनाने और फिर उसमें चित्र बनाने की कोशिश की लेकिन वह भी काम नहीं किया। मैंने ऐसा गलत तरीके से किया होगा लेकिन मुझे इस कार्य को करने के लिए उचित निर्देश नहीं मिले।

कृपया स्थानीय कुबेरनेट उदाहरण में स्थानीय डॉकरों की छवियों का उपयोग करने के निर्देश प्रदान करें।
OS: ubuntu 16.04
डोकर: डॉकर संस्करण 1.13.1, 092cba3
कुबेरनेट का निर्माण :

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:40:50Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7.1", Compiler:"gc", Platform:"linux/amd64"}

अगर कोई मेरी मदद कर सकता है एक समाधान है कि ऐसा करने के लिए docker- रचना का उपयोग करता है, कि बहुत बढ़िया होगा। धन्यवाद।

संपादित करें:

इसमें भरी गई छवियाँ eval $(minikube docker-env:

REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
fluxcapacitor/jupyterhub                              latest              e5175fb26522        4 weeks ago         9.59 GB
fluxcapacitor/zeppelin                                latest              fe4bc823e57d        4 weeks ago         4.12 GB
fluxcapacitor/prediction-pmml                         latest              cae5b2d9835b        4 weeks ago         973 MB
fluxcapacitor/scheduler-airflow                       latest              95adfd56f656        4 weeks ago         8.89 GB
fluxcapacitor/loadtest                                latest              6a777ab6167c        5 weeks ago         899 MB
fluxcapacitor/hdfs                                    latest              00fa0ed0064b        6 weeks ago         1.16 GB
fluxcapacitor/sql-mysql                               latest              804137671a8c        7 weeks ago         679 MB
fluxcapacitor/metastore-1.2.1                         latest              ea7ce8c5048f        7 weeks ago         1.35 GB
fluxcapacitor/cassandra                               latest              3cb5ff117283        7 weeks ago         953 MB
fluxcapacitor/apachespark-worker-2.0.1                latest              14ee3e4e337c        7 weeks ago         3.74 GB
fluxcapacitor/apachespark-master-2.0.1                latest              fe60b42d54e5        7 weeks ago         3.72 GB
fluxcapacitor/package-java-openjdk-1.8                latest              1db08965289d        7 weeks ago         841 MB
gcr.io/google_containers/kubernetes-dashboard-amd64   v1.5.1              1180413103fd        7 weeks ago         104 MB
fluxcapacitor/stream-kafka-0.10                       latest              f67750239f4d        2 months ago        1.14 GB
fluxcapacitor/pipeline                                latest              f6afd6c5745b        2 months ago        11.2 GB
gcr.io/google-containers/kube-addon-manager           v6.1                59e1315aa5ff        3 months ago        59.4 MB
gcr.io/google_containers/kubedns-amd64                1.9                 26cf1ed9b144        3 months ago        47 MB
gcr.io/google_containers/kube-dnsmasq-amd64           1.4                 3ec65756a89b        5 months ago        5.13 MB
gcr.io/google_containers/exechealthz-amd64            1.2                 93a43bfb39bf        5 months ago        8.37 MB
gcr.io/google_containers/pause-amd64           

जवाबों:


408

जैसा कि README वर्णन करता है, आप मिनिक्यूब से डोकर डेमॉन का पुन: उपयोग कर सकते हैं eval $(minikube docker-env)

तो इसे अपलोड किए बिना किसी छवि का उपयोग करने के लिए, आप इन चरणों का पालन कर सकते हैं:

  1. के साथ पर्यावरण चर सेट करें eval $(minikube docker-env)
  2. मिनीक्यूब के डोकर डेमॉन के साथ छवि बनाएँ (जैसे docker build -t my-image .)
  3. फली की छवि में बिल्ड टैग की तरह सेट करें (जैसे my-image)
  4. सेट imagePullPolicyकरने के लिए Never, नहीं तो Kubernetes छवि डाउनलोड करने के लिए कोशिश करेंगे।

महत्वपूर्ण नोट: आपको eval $(minikube docker-env)प्रत्येक टर्मिनल पर चलना होगा जिसे आप उपयोग करना चाहते हैं, क्योंकि यह वर्तमान शेल सत्र के लिए केवल पर्यावरण चर निर्धारित करता है।


1
AFAIS आप केवल एक नए minukube के साथ कर सकते हैं minikube start --disk-size 100g। एक और समाधान के साथ docker imagesऔर पुरानी छवियों को हटाना होगा docker rmi
svenwltr

6
eval $(minikube docker-env)टर्मिनल को बंद करने के बाद चलाने के लिए याद रखने के लिए बहुत महत्वपूर्ण है कि आप छवियों को फिर से बनाने की कोशिश कर रहे हैं ... बस 6 घंटे जला दिया एक छवि के साथ लड़ रहा था जो मिनीब्यूब में अपडेट नहीं हो रहा था ... ऐसा लग रहा था कि पैकेज अपडेट नहीं हो रहा था .. वास्तव में सिर्फ उस छवि को अपडेट नहीं किया जा रहा है जो मिनीब्यूब संदर्भित कर रहा था।
माइक

1
डिफ़ॉल्ट पुल नीति IfNotPresentजिसका अर्थ है कि हम सभी को पर्यावरण चर सेट करना है।
ब्यूगी

29
यदि आप मिनिक्यूब से वापस जाना चाहते हैं या बाहर निकलते हैं ..eval $(minikube docker-env -u)
बुडी

1
पर @nmxl नज़र यहाँ
testuser

175

@Svenwltr द्वारा समाधान के आधार पर, मेरे लिए क्या काम किया गया:

# Start minikube
minikube start

# Set docker env
eval $(minikube docker-env)

# Build image
docker build -t foo:0.0.1 .

# Run in minikube
kubectl run hello-foo --image=foo:0.0.1 --image-pull-policy=Never

# Check that it's running
kubectl get pods

3
: आप YML (imagePullPolicy के संबंध में) ऊपर कमांड लाइन के संस्करण पा सकते हैं यहाँ kubernetes.io/docs/concepts/containers/images
granadaCoder

127

यह उत्तर मिनीक्यूब तक सीमित नहीं है!

स्थानीय रजिस्ट्री का उपयोग करें:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

अब अपनी छवि को ठीक से टैग करें:

docker tag ubuntu localhost:5000/ubuntu

ध्यान दें कि रजिस्ट्री कंटेनर को चलाने वाले मशीन के नाम को बदलने के लिए लोकलहोस्ट को बदला जाना चाहिए।

अब अपनी छवि को स्थानीय रजिस्ट्री पर धकेलें:

docker push localhost:5000/ubuntu

आपको इसे वापस खींचने में सक्षम होना चाहिए:

docker pull localhost:5000/ubuntu

अब स्थानीय रजिस्ट्री का उपयोग करने के लिए अपनी yaml फ़ाइल बदलें।

रजिस्ट्री पर छवियों को बनाए रखने के लिए उपयुक्त स्थान पर बढ़ते वॉल्यूम के बारे में सोचें।

अपडेट करें:

जैसा कि एली ने कहा, आपको http का उपयोग करने के लिए असुरक्षित के रूप में स्थानीय रजिस्ट्री को जोड़ना होगा (स्थानीय होस्ट का उपयोग करते समय लागू नहीं हो सकता है लेकिन स्थानीय होस्टनाम का उपयोग करते समय लागू होता है)

उत्पादन में http का उपयोग न करें, चीजों को सुरक्षित करने के लिए प्रयास करें।


2
| अब स्थानीय रजिस्ट्री का उपयोग करने के लिए अपनी yaml फ़ाइल बदलें। क्या आप इसे थोड़ा समझाने में सक्षम हैं? मैंने स्थानीय रजिस्ट्री (कूल ट्रिक) में धकेल दिया, लेकिन मुझे एक ही समस्या है कि मैं इसे कनेक्ट करने के लिए मिनीब्यूब प्राप्त नहीं कर सकता।
ज़ैच एस्टेला

3
@ZachEstela ने yaml में छवि का नाम बदलकर<registryIP>:5000/ubuntu
फरहाद फरही

@FarhadFarahi मुझे "रजिस्ट्री कंटेनर चलाने वाली मशीन का नाम" कहां मिल सकता है?
डैन

1
@FarhadFarahi अगर मैं अपना लैपटॉप आपको दे दूं, तो आपको कैसे पता चलेगा? मैं इसे जानना चाहता हूं। मैंने विंडोज़ चलाने के लिए डॉक करने के लिए डॉक ट्यूटोरियल चरणों का पालन किया।
दान

1
@FarhadFarahi: कृपया अपने उत्तर में जोड़ें कि आपको http: docs.docker.com/registry/insecure का उपयोग करने के लिए स्थानीय रजिस्ट्री को असुरक्षित रूप में जोड़ना होगा ( स्थानीयहोस्ट का उपयोग करते समय लागू नहीं हो सकता है लेकिन स्थानीय होस्टनाम का उपयोग करते समय लागू नहीं होता है) )।
एली अलग्रांति

14

इस जवाब के आधार पर @ फरहाद के जवाब में जोड़ते हुए ,

यह स्थानीय रजिस्ट्री सेटअप करने के लिए चरण हैं।

स्थानीय मशीन में सेटअप

स्थानीय मशीन में होस्टनाम सेटअप करें: /etc/hostsइस लाइन को जोड़ने के लिए संपादित करें

docker.local 127.0.0.1

अब एक स्थानीय रजिस्ट्री शुरू करें (गैर डीमन मोड को चलाने के लिए निकालें -d):

docker run -d -p 5000:5000 --restart=always --name registry registry:2

अब अपनी छवि को ठीक से टैग करें:

docker tag ubuntu docker.local:5000/ubuntu

अब अपनी छवि को स्थानीय रजिस्ट्री पर धकेलें:

docker push docker.local:5000/ubuntu

सत्यापित करें कि छवि को धक्का दिया गया है:

curl -X GET http://docker.local:5000/v2/ubuntu/tags/list

मिनिक्यूब में सेटअप

के साथ minikube में ssh: minukube ssh

/etc/hostsइस पंक्ति को जोड़ने के लिए संपादित करें

docker.local <your host machine's ip>

पहुंच सत्यापित करें:

curl -X GET http://docker.local:5000/v2/ubuntu/tags/list

अब यदि आप खींचने की कोशिश करते हैं, तो यो को http एक्सेस त्रुटि मिल सकती है।

असुरक्षित पहुंच सक्षम करें :

यदि आप हमेशा इस स्थानीय सेटअप के साथ मिंक्यूब का उपयोग करने की योजना बना रहे हैं, तो डिफ़ॉल्ट रूप से असुरक्षित रजिस्ट्री का उपयोग करने के लिए मिनीक्यूब बनाएं (मौजूदा क्लस्टर पर काम न करें)।

minikube start --insecure-registry="docker.local:5000"

और नीचे दिए गए चरणों का पालन करें:

systemctl stop docker

docker serice फ़ाइल संपादित करें: से पथ प्राप्त करें systemctl status docker

यह हो सकता है :

/etc/systemd/system/docker.service.d/10-machine.conf या /usr/lib/systemd/system/docker.service

इस पाठ को जोड़ें (अपने आईपी के साथ 192.168.1.4 बदलें)

--insecure-रजिस्ट्री docker.local: 5000 --insecure-रजिस्ट्री 192.168.1.4% 2000

इस लाइन के लिए

ExecStart = / usr / bin / docker daemon -H tcp: //0.0.0.0: 2376 -H unix: ///var/run/docker.sock --tlsverify --tlscert/etc/docker/ca.pem - tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label प्रदाता = virtualbox --insecure-रजिस्ट्री 10.0.0.0/24

systemctl daemon-reload
systemctl start docker

खींचने की कोशिश करें:

docker pull docker.local:5000/ubuntu

अब स्थानीय रजिस्ट्री का उपयोग करने के लिए अपनी yaml फ़ाइल बदलें।

  containers:
    - name: ampl-django
      image: dockerhub/ubuntu

सेवा

  containers:
    - name: ampl-django
      image: docker.local:5000/nymbleup

उत्पादन में http का उपयोग न करें, चीजों को सुरक्षित करने के लिए प्रयास करें।


12

स्वीकृत उत्तर के अलावा, आप यह भी प्राप्त कर सकते हैं कि आप मूल रूप से क्या चाहते थे ( runकमांड का उपयोग करके एक तैनाती का निर्माण ) निम्नलिखित कमांड के साथ:

kubectl run hdfs --image=fluxcapacitor/hdfs:latest --port=8989 --generator=run-pod/v1 

मुझे कुबेरनेट्स-देव मंच पर जनरेटर के बारे में जानकारी मिली:

यदि आप उपयोग कर रहे हैं kubectl run, तो यह आपके लिए एक प्रकट उत्पन्न करता है जो डिफ़ॉल्ट रूप imagePullPolicyसे सेट होता है Always। आप एक प्राप्त करने के लिए इस आदेश का उपयोग कर सकते हैं imagePullPolicyकी IfNotPresentहै, जिसके लिए काम करेंगे minikube:

kubectl run --image=<container> --generator=run-pod/v1

डैन लोरेंक

https://groups.google.com/forum/#!topic/kubernetes-dev/YfvWuFr_XOM


9

एक दृष्टिकोण स्थानीय रूप से छवि का निर्माण करना है और फिर करना है:

docker save imageNameGoesHere | pv | (eval $(minikube docker-env) && docker load)

minikube docker-envएक अलग उपयोगकर्ता / sudo के तहत चल रही सही जानकारी को वापस नहीं किया जा सकता है। इसके बजाय आप दौड़ सकते हैं sudo -u yourUsername minikube docker-env

इसे कुछ इस तरह लौटाना चाहिए:

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/home/chris/.minikube/certs"
export DOCKER_API_VERSION="1.23"
# Run this command to configure your shell:
# eval $(minikube docker-env)

सही आज्ञा हैdocker save imageNameGoesHere > pv | (eval $(minikube docker-env) && docker load)
सल्वाडोर

1
docker save imageNameGoesHere | (eval $(minikube docker-env) && docker load)मेरे लिए काम किया
lhaferkamp

5

यदि कोई मिनिक्यूब एनवी सेट करने के बाद स्थानीय वातावरण में वापस आना चाहता है, तो निम्नलिखित कमांड का उपयोग करें।

eval $(docker-machine env -u)


3
मिनिक्यूब के लिए eval $ (minikube docker-env -u) होगा
चमत्कार_वे__

4

कुबेरनेट्स डॉक्स से:

https://kubernetes.io/docs/concepts/containers/images/#updating-images

डिफ़ॉल्ट पुल नीति IfNotPresent है, जो क्यूबलेट को पहले से मौजूद होने पर छवि को खींचने के लिए छोड़ देती है। यदि आप हमेशा एक पुल को मजबूर करना चाहते हैं, तो आप निम्न में से एक कर सकते हैं:

  • हमेशा के लिए कंटेनर के ImagePullPolicy सेट करें;
  • उपयोग: छवि का उपयोग करने के लिए टैग के रूप में नवीनतम;
  • AlwaysPullImages के प्रवेश नियंत्रक को सक्षम करें।

या दूसरा तरीका पढ़ें: नवीनतम टैग बलों का उपयोग करके हमेशा खींचे जाने वाले चित्र। यदि आप eval $(minikube docker-env)ऊपर बताए अनुसार उपयोग करते हैं , तो या तो किसी भी टैग का उपयोग न करें, या अपनी स्थानीय छवि को एक टैग असाइन करें, आप कुबेरनेट्स को जबरन खींचने की कोशिश से बच सकते हैं।


3

अब मिनिक्यूब रजिस्ट्री एडऑन है, यह शायद सबसे आसान तरीका है। यहाँ इसका उपयोग कैसे किया जाता है: https://minikube.sigs.k8s.io/docs/tasks/registry/necec//

ध्यान दें कि मेरे पास DNS समस्याएं थीं, जो बग हो सकती हैं।


3

एक सरल विधि जो मूल प्रश्न का उत्तर देती है "मिनिक्यूब के साथ स्थानीय डॉकटर छवियों का उपयोग कैसे करें?", छवि को टार फ़ाइल में सहेजना है और इसे मिनीब्यूब में लोड करना है:

# export the docker image to a tar file
docker save --output my-image.tar the.full.path.to/the/docker/image:the-tag
# set local environment variables so that docker commands go to the docker in minikube
eval $(minikube docker-env)
# or if on windows: @FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i
# import the docker image from the tar file into minikube
docker load --input my-image.tar
# cleanup - put docker back to normal
eval $(minikube docker-env -u)
# or if on windows: @FOR /f "tokens=*" %i IN ('minikube docker-env -u') DO @%i

फिर छवि को चलाने में निम्न की तरह एक कमांड शामिल है। "--Image-pull-policy = Never" पैरामीटर को शामिल करना सुनिश्चित करें।

kubectl run my-image --image=the.full.path.to/the/docker/image:the-tag --image-pull-policy=Never --port=80

अच्छी तरह से समझाया, एक आकर्षण की तरह काम किया। मुझे केवल इसके docker saveसाथ कॉल करना था sudo, और फिर sudo chmod 664 my-image.tarअपने वर्तमान उपयोगकर्ता के लिए उपलब्ध कराना था।
मीर गबे

मेरा मानना ​​है कि यह सबसे तेज़ तरीका होना चाहिए।
शिवाकांत भारती

2

पिछले उत्तरों को जोड़ने के लिए, यदि आपके पास एक टारबॉल छवि है, तो आप बस इसे चित्रों के स्थानीय डॉकटर सेट पर लोड कर सकते हैं। docker image load -i /path/image.tarकृपया बाद में इसे चलाने के लिए याद रखें eval $(minikube docker-env), क्योंकि मिनीब्यूब स्थानीय रूप से स्थापित डॉक इंजन के साथ छवियों को साझा नहीं करता है।


2

अन्य उत्तर मान लें कि आप VM के साथ मिनीब्यूब का उपयोग करते हैं, इसलिए आपकी स्थानीय छवियां मिनीब्यूब VM से सुलभ नहीं हैं।

यदि आप मिनिक्यूब का उपयोग करते हैं --vm-driver=none, तो आप image_pull_policyकभी भी सेट करके स्थानीय चित्रों का आसानी से उपयोग कर सकते हैं :

kubectl run hello-foo --image=foo --image-pull-policy=Never

या imagePullPolicyइसी .yamlमैनिफ़ेस्ट में कोटीनर्स के लिए सेटिंग फ़ील्ड ।


2

एक विचार यह होगा कि स्थानीय रूप से डॉक की छवि को बचाया जाए और बाद में इसे मिनीब्यूब में लोड किया जाए:

उदाहरण के लिए, मान लें कि आपके पास पहले से ही puckel / docker-airflow छवि है।

  1. उस छवि को स्थानीय डिस्क पर सहेजें -

    docker save puckel/docker-airflow > puckel_docker_airflow.tar

  2. अब minikube docker env में दर्ज करें -

    eval $(minikube docker-env)

  3. स्थानीय रूप से सहेजी गई छवि लोड करें -

    docker load < puckel_docker_airflow.tar

यह इतना आसान है और यह एक आकर्षण की तरह काम करता है।


आपको अभी भी स्वीकृत उत्तर की टिप की आवश्यकता है Set the imagePullPolicy to Never। यदि आपकी छवि जैसे पते के साथ टैग की गई है, us.icr.io/mydiv/my-service:v0.0.1तो एक तैनाती इस छवि को दूरस्थ रूप से खींचने का प्रयास करेगी। चूंकि आपने पहले ही छवि को मैन्युअल रूप से कॉपी किया है, इसलिए आपको k8s को एक पते (कंटेनर रजिस्ट्री) से छवि को खींचने से दबाने की आवश्यकता है जो इसे एक्सेस नहीं कर सकता है।
colm.anseo

1

क्या होगा अगर आप डॉकर्स vm के भीतर बस k8s चला सकते हैं? डॉकटर डेस्कटॉप के अधिक हाल के संस्करणों के साथ इसके लिए मूल समर्थन है ... आपको बस उस समर्थन को सक्षम करने की आवश्यकता है।

https://www.docker.com/blog/kubernetes-is-now-available-in-docker-desktop-stable-channel/ https://www.docker.com/blog/docker-windows-desktop-now-now Kubernetes /

मुझे यह कैसे पता चला:

हेल्म के लिए डॉक्स पढ़ते समय, वे आपको एक संक्षिप्त ट्यूटोरियल देते हैं कि मिनीब्यूब कैसे स्थापित करें। उस ट्यूटोरियल में मिनिम्यूब को एक vm में स्थापित किया गया है जो कि docker से अलग / अलग है।

इसलिए जब मेरे हेल्म चार्ट को स्थापित करने का समय आया, तो मैं उन छवियों को खींचने के लिए हेलमेट / k8s नहीं प्राप्त कर सका, जिन्हें मैंने डॉकटर का उपयोग करके बनाया था। इस सवाल पर मैं यहाँ कैसे पहुँचा।

तो ... अगर आप k8 के संस्करण के साथ रह सकते हैं जो कि डॉक डेस्कटॉप के साथ आता है, और आप इसके साथ रह सकते हैं जो कुछ भी vm docker में है, तो शायद यह समाधान कुछ अन्य लोगों की तुलना में थोड़ा आसान है।

अस्वीकरण: यह सुनिश्चित नहीं है कि खिड़कियों / लिनक्स कंटेनरों के बीच स्विच करने से कुछ भी कैसे प्रभावित होगा।


मुझे लगता है कि मैं भी रूप में अच्छी तरह IfNotPresent को imagePullPolicies स्थापित करने के लिए किया था
चाड

1

आपकी स्थानीय डॉकर छवि को सीधे मिनीक्यूब पर धकेलने का एक निबंध और प्रभावी तरीका है, जो मिनीब्यूब में फिर से छवियों के निर्माण से समय बचाएगा।

minikube cache add <Image name>

अधिक जानकारी यहाँ

मिनीब्यूब में छवियों को धकेलने की सभी संभावित विधि यहाँ उल्लिखित हैं: https://minikube.sigs.k8s.io/docs/handbook/pushing/


0

आप या तो डॉक शेल का पुन: उपयोग कर सकते हैं eval $(minikube docker-env), वैकल्पिक रूप से, आप docker save | docker loadगोले के पार ले सकते हैं।


0
  1. सेटअप मिनिक्यूब docker-env
  2. फिर से वही डॉकटर छवि बनाएं (मिनिक्यूब डोकर-एनवी का उपयोग करके)
  3. कभी भी अपनी तैनाती में ImagePullPolicy को बदलें

वास्तव में यहाँ क्या होता है, आपका मिनिक्यूब आपके डोकर डेमॉन को पहचान नहीं सकता क्योंकि यह स्वतंत्र सेवा है।

 "eval $(minikube docker-env)"

यदि आप नीचे कमांड चलाते हैं तो यह दिखाएगा कि आपका मिनिक्यूब डॉकटर के लिए कहां दिखता है।

~$ minikube docker-env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.37.192:2376"
export DOCKER_CERT_PATH="/home/ubuntu/.minikube/certs"
export MINIKUBE_ACTIVE_DOCKERD="minikube"

**# To point your shell to minikube's docker-daemon, run:**
# eval $(minikube -p minikube docker-env)

एक बार जब आप मिनीक्यूब docker-env को सेटअप कर लेते हैं तो आपको फिर से चित्रों का निर्माण करना होगा अन्यथा यह विफल हो जाएगा।



0

कुबेरनेट्स में स्थानीय डॉकटर छवियों को चलाने के लिए कदम
। 1. eval $ (minikube -p minikube docker-env)
2. विरूपण साक्ष्य फ़ाइल में, विशेष खंड के तहत -> कंटेनरों
में ImagePullPolicy जोड़ें: IfNotPentent
या imagePullPolicy: कभी नहीं

apiVersion: "v1"
kind: Pod
metadata:
    name: web
    labels:
        name: web
        app: demo
spec:
    containers:
        - name: web
          image: web:latest
          imagePullPolicy: IfNotPresent
          ports:
              - containerPort: 5000
                name: http
                protocol: TCP


3. फिर दौड़ो kubectl create -f <filename>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.