【问题标题】:Azure Containers deployment - "Operation failed with status 200: Resource State Failed"Azure 容器部署 - “操作失败,状态为 200:资源状态失败”
【发布时间】:2021-02-02 11:28:33
【问题描述】:

在 Azure 中,我们尝试使用带有准备好的 YAML 的 Azure 容器实例来创建容器。在我们执行 az container create 命令的机器上,我们可以在输入密码后成功登录到我们的私有注册表(例如 JFrog Artifactory 上的 fa-docker-snapshot-local.docker.comp.dev ),我们可以码头工人也拉它

docker login fa-docker-snapshot-local.docker.comp.dev -u svc-faselect
Login succeeded

这样我们就可以成功拉取了,镜像路径和手动docker pull时一样:

   image: fa-docker-snapshot-local.docker.comp.dev/fa/ads:test1 

我们有用于部署的 YAML 文件,并尝试使用来自 SAME 服务器的 az 命令创建容器。在 YAML 文件中,我们设置了相同的注册表信息:服务器、用户名和密码以及相同的图像

az container create --resource-group FRONT-SELECT-NA2 --file ads-azure.yaml

当我们尝试执行此命令时,需要等待 30 分钟,然后显示消息:“部署失败。操作失败,状态为 200:资源状态失败”

完整的 Yaml:

apiVersion: '2019-12-01'
location: eastus2
name: ads-test-group
properties:
  containers:
  - name: front-arena-ads-test
    properties:
      image: fa-docker-snapshot-local.docker.comp.dev/fa/ads:test1
      environmentVariables:
        - name: 'DBTYPE'
          value: 'odbc'
      command:
      - /opt/front/arena/sbin/ads_start
      - ads_start
      - '-unicode'
      - '-db_server test01'                        
      - '-db_name HEDGE2_ADM_Test1'                        
      - '-db_user sqldbadmin'                              
      - '-db_password pass'                   
      - '-db_client_user HEDGE2_ADM_Test1'                
      - '-db_client_password Password55'                
      ports:
      - port: 9000
        protocol: TCP
      resources:
        requests:
          cpu: 1.0
          memoryInGB: 4
      volumeMounts:
      - mountPath: /opt/front/arena/host
        name: ads-filesharevolume
  imageRegistryCredentials: # Credentials to pull a private image
  - server: fa-docker-snapshot-local.docker.comp.dev
    username: svcacct-faselect
    password: test
  ipAddress:
    type: Private
    ports:
    - protocol: tcp
      port: '9000'
  volumes:
  - name: ads-filesharevolume
    azureFile:
      sharename: azurecontainershare
      storageAccountName: frontarenastorage
      storageAccountKey: kdUDK97MEB308N=
  networkProfile:
    id: /subscriptions/746feu-1537-1007-b705-0f895fc0f7ea/resourceGroups/SELECT-NA2/providers/Microsoft.Network/networkProfiles/fa-aci-test-networkProfile
  osType: Linux
  restartPolicy: Always
tags: null
type: Microsoft.ContainerInstance/containerGroups

您能帮我们解释一下为什么会出现这个错误吗? 谢谢

【问题讨论】:

  • 你能分享你的 ads-azure.yaml 吗?
  • 您能否分享有关该错误的更多详细信息?如果在你部署这个 docker-compose 文件之前网络文件已经存在?
  • @CharlesXu 嗨,查尔斯,不幸的是,这是我在日志中可以看到的唯一信息,仅此而已。我搜索了一些与核心配额限制相关的类似问题,但我认为现在情​​况并非如此。网络配置文件存在 - 管理员必须手动创建它。谢谢

标签: azure docker containers azure-container-instances azure-container-registry


【解决方案1】:

据我所知,你的 YAML 文件没有问题,我只能给你一些可能的原因。

  1. 确保配置正确,服务器URL、用户名和密码,还包括图片名称和标签;
  2. 把端口改成'9000' into 9000``,我的意思是去掉双引号;
  3. 看看Note,可能挂载卷导致容器崩溃。然后你需要将文件共享挂载到一个新文件夹,我的意思是以前不存在的新文件夹。

【讨论】:

  • 您能在这个问题上帮助我吗? stackoverflow.com/questions/66037883/… 谢谢
  • 我将向我的 Azure 管理员发送这些说明,希望他们根据这些说明重新尝试创建...谢谢!
  • @AndreyDonald 这个问题有什么更新吗?答案解决了吗?
  • 是的。我标记为答案非常感谢。问题在于其中一个参数的配置错误。您能否帮助我解决一个阻碍我们实施的问题...stackoverflow.com/questions/66190275/…
  • @AndreyDonald 太好了。好吧,我会看看你的新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 2020-03-18
  • 1970-01-01
  • 2020-05-19
相关资源
最近更新 更多