簡體   English   中英

來自Azure容器注冊表的測試圖像

[英]test image from azure container registry

我從“ Hello World” java應用程序創建了一個簡單的Docker映像。

這是我的Dockerfile

FROM java:8
COPY . /var/www/java  
WORKDIR /var/www/java  
RUN javac HelloWorld.java  
CMD ["java", "HelloWorld"]

我將映像(java-app)推送到Azure容器注冊表。

$ az acr repository list --name AContainerRegistry --output tableResult
----------------
java-app

我要部署它

amhg$ kubectl run dockerproject --image=acontainerregistry.azurecr.io/java-app:v1 
    deployment.apps "dockerproject" created
amhg$ kubectl expose deployments dockerproject --port=80 --type=LoadBalancer
    service "dockerproject" exposed

看到豆莢,豆莢墜毀

amhg$ kubectl get pods
    NAME                               READY     STATUS             RESTARTS   AGE
    dockerproject-b6799d879-pt5rx      0/1       CrashLoopBackOff   8          19m

有沒有辦法從中央注冊表“測試” /運行映像,它為什么崩潰?

在這里描述POD

  amhg$ kubectl describe pod dockerproject-64fbf7649-spc7h 
    Name:           dockerproject-64fbf7649-spc7h
    Namespace:      default
    Node:           aks-nodepool1-39744669-0/10.240.0.4
    Start Time:     Thu, 19 Apr 2018 11:53:58 +0200
    Labels:         pod-template-hash=209693205
                    run=dockerproject
    Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"dockerproject-64fbf7649","uid":"946610e4-43b7-11e8-9537-0a58ac1...
    Status:         Running
    IP:             10.244.0.38
    Controlled By:  ReplicaSet/dockerproject-64fbf7649
    Containers:
      dockerproject:
        Container ID:   docker://1f2a7a6870a37e4d6b53fc834b0d4d3b681e9faaacc3772177a918e66357404e
        Image:          acontainerregistry.azurecr.io/java-app:v1
        Image ID:       docker-pullable://acontainerregistry.azurecr.io/java-app@sha256:eaf6fe53a59de287ad76a18de2c7f05580b1f25153624161aadcc7b8ef47b0c4
        Port:           <none>
        Host Port:      <none>
        State:          Waiting
          Reason:       CrashLoopBackOff
        Last State:     Terminated
          Reason:       Completed
          Exit Code:    0
          Started:      Thu, 19 Apr 2018 12:35:22 +0200
          Finished:     Thu, 19 Apr 2018 12:35:23 +0200
        Ready:          False
        Restart Count:  13
        Environment:    <none>
        Mounts:
          /var/run/secrets/kubernetes.io/serviceaccount from default-token-vkpjm (ro)
    Conditions:
      Type           Status
      Initialized    True 
      Ready          False 
      PodScheduled   True 
    Volumes:
      default-token-vkpjm:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  default-token-vkpjm
        Optional:    false
    QoS Class:       BestEffort
    Node-Selectors:  <none>
    Tolerations:     node.alpha.kubernetes.io/notReady:NoExecute for 300s
                     node.alpha.kubernetes.io/unreachable:NoExecute for 300s
    Events:
      Type     Reason                 Age                 From                               Message
      ----     ------                 ----                ----                               -------
      Normal   Scheduled              43m                 default-scheduler                  Successfully assigned dockerproject2-64fbf7649-spc7h to aks-nodepool1-39744669-0
      Normal   SuccessfulMountVolume  43m                 kubelet, aks-nodepool1-39744669-0  MountVolume.SetUp succeeded for volume "default-token-vkpjm"
      Normal   Pulled                 43m (x4 over 43m)   kubelet, aks-nodepool1-39744669-0  Container image "acontainerregistry.azurecr.io/java-app:v1" already present on machine
      Normal   Created                43m (x4 over 43m)   kubelet, aks-nodepool1-39744669-0  Created container
      Normal   Started                43m (x4 over 43m)   kubelet, aks-nodepool1-39744669-0  Started container
      Warning  FailedSync             8m (x161 over 43m)  kubelet, aks-nodepool1-39744669-0  Error syncing pod
      Warning  BackOff                3m (x184 over 43m)  kubelet, aks-nodepool1-39744669-0  Back-off restarting failed container

在Pod中運行應用程序時,Kubernetes希望它可以一直作為守護程序運行,直到您以某種方式停止它為止。

在有關吊艙的詳細信息中,我看到以下內容:

State:          Waiting
  Reason:       CrashLoopBackOff
Last State:     Terminated
  Reason:       Completed
  Exit Code:    0
  Started:      Thu, 19 Apr 2018 12:35:22 +0200
  Finished:     Thu, 19 Apr 2018 12:35:23 +0200

這意味着您的應用程序在啟動后立即以代碼0 (表示“一切正常”)退出。 因此,該映像已成功下載(注冊表正常)並運行,但是該應用程序退出了。

這就是Kubernetes一直嘗試重新啟動Pod的原因。

我唯一能建議的-查找應用程序停止並修復的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM