标签: azure-container-registry

资源组中没有Azure函数Docker部署Linux工作器

尝试通过功能应用程序从Azure容器注册表中部署Nginix容器,

得到一个错误,

Linux Worker在资源组中不可用

如何使linux worker进入资源组?

用于部署的Dockerfile,

FROM nginx
COPY dist /usr/share/nginx/html
Run Code Online (Sandbox Code Playgroud)

azure docker azure-functions azure-container-registry

7
推荐指数
2
解决办法
2179
查看次数

Azure Devops Docker Push:本地不存在带有该标签的映像

我正在使用 spring boot maven 插件在 Azure DevOps 上构建一个 java spring boot 应用程序 docker 容器。之后我想将其推送到天蓝色的容器注册表。但它失败了

本地不存在带有以下标签的镜像:***/my/container

不幸的是,容器 uri 的开头被***. 但正如您在下面的输出中看到的/usr/bin/docker images,容器已注册。我尝试遵循以下示例:https://medium.com/@TimvanBaarsen/build-your-spring-boot-project-using-azure-pipelines-in-azure-devops-3305977991d

管道步骤

steps:
- task: Maven@3
  displayName: "Build Docker image"
  inputs:
    mavenPomFile: 'pom.xml'
    goals: 'spring-boot:build-image'
    publishJUnitResults: false
    jdkVersionOption: '1.11'
    mavenOptions: '-Xmx3072m -Dspring-boot.build-image.imageName=acr-foobar.azurecr.io/my/container'

- task: Docker@2
  displayName: Push Docker image
  inputs:
    containerRegistry: 'acr-foobar.azurecr.io'
    repository: 'my/container'
    command: 'push'
    tags: 'latest'
Run Code Online (Sandbox Code Playgroud)

输出 Maven 任务

[INFO] Successfully built image 'acr-***/my/container:latest'
Run Code Online (Sandbox Code Playgroud)

输出 Docker 任务

Starting: Push Docker image
==============================================================================
Task         : …
Run Code Online (Sandbox Code Playgroud)

docker spring-boot azure-devops azure-container-registry

7
推荐指数
2
解决办法
9755
查看次数

Azure应用服务泊坞窗容器'服务不可用'

我已经按照教程将.net核心Web应用程序构建到docker映像,发布到azure容器注册表,然后我设置了我的VSTS Release模板以将容器部署到app服务.

这一切似乎都有效,我可以在容器注册表中查看我的图像,部署似乎成功 - 但是当导航到应用服务站点时,我得到的只是HTTP 503 - 服务不可用.

应用程序服务已启动,我可以通过bash在我的文件系统中看到部署 - 所以我想知道我是否遗漏了什么?

我的任何模板中都没有'startup'命令,我想知道它是否可以这样?

该网站从VS2017完美运行,包括通过docker进行调试,所以它真的只是...如何让App Service实际加载和执行图像?

谢谢!

编辑

除此之外,我还可以访问docker诊断日志,声称"图像操作系统"窗口"无法在此平台上使用".

我的基本映像是microsoft/aspnetcore:2.0映像,它在我的开发环境中的linux容器上运行得非常好......但似乎无法在Linux App Service中运行?

aspnetcore:2.0基本映像不适合Linux应用服务吗?

azure docker azure-web-app-service azure-pipelines-release-pipeline azure-container-registry

6
推荐指数
1
解决办法
3094
查看次数

将 Docker 映像从 gitlab-ci 推送到 Azure 容器注册表

我熟悉 docker (dind) 中的 docker 但与microsoft/azure-cliimage throw一起使用docker command not found

这是我的文件设置gitlab-ci.yml。我创建了Service Principal用于对天蓝色云和相应资源组进行身份验证的。

image: docker:latest

variables:
  PASSWORD: *********
  TENANT_ID: *****-************-*************
  APP_ID: *********-*****-*****
  CLIENT_ID: ****************
  ACR_ID: *******************


stages:
  - build
  - deploy

services:
  - docker:dind

before_script:
  - docker info

build_staging_image:
  stage: build
  image: microsoft/azure-cli
  script:
    - az login --service-principal --username $APP_ID --password $PASSWORD --tenant $TENANT_ID
    - docker build -t azure-vote:latest ./azure-vote
    - docker tag azure-vote votingtestapp.azurecr.io/azure-vote:latest
    - docker push votingtestapp.azurecr.io/azure-vote:latest



deploy:develop:
  stage: deploy
  script: …
Run Code Online (Sandbox Code Playgroud)

azure docker gitlab-ci kubernetes azure-container-registry

6
推荐指数
1
解决办法
1万
查看次数

Azure CLI:通过一个命令删除存储库中所有未标记的图像

我将 Docker 映像存储在 Azure 上的私有存储库中。每次我将具有相同标签(例如最新)的图像推送到该存储库时,前一个图像就会变为未标记的,但仍保留在存储库中。这导致存储库中堆积了大量未标记的图像。我想要一个使用 azure cli 的命令来一次性删除所有未标记的图像。

例如,输入以下命令:

az acr repository show-manifests -n myRegistry --repository myRepo

返回 d24-staging-fuzzy-search-srv 存储库的几个清单:

[ { "digest": "sha256:blablabla1", "tags": null, "timestamp": "t1" }, { "digest": "sha256:blablabla2", "tags": null, "timestamp": "t2" }, { "digest": "sha256:blablabla3", "tags": [ "latest" ], "timestamp": "t3" }]

我想在 azure cli 中使用一个命令来删除所有具有“null”标签的 mainfest,并保留具有“latest”标签的 mainfest

azure azure-cli azure-container-registry

6
推荐指数
1
解决办法
2591
查看次数

用于容器的 Azure Web 应用程序未设置环境变量

我有一个从 Azure 容器注册表部署的 docker 映像。一切正常,除了我希望能够看到环境变量从门户中配置的应用程序设置传递给我正在运行的 docker 映像。它是一个使用 process.env.VariableName 访问环境变量的 Node 应用程序。

作为一个例子,它在这里说 https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/#SetEnvVar ...“应用程序设置被注入在运行时作为环境变量进入您的应用程序”

我尝试了以下方法。

  • 在 Azure 门户中设置应用程序设置。这些应该按照文档传递给正在运行的 Docker 映像,但我的 Node 应用程序中的 process.env.VariableName 未设置。

  • 我曾尝试使用设置环境变量的 Docker 撰写文件,但 process.env.VariableName 再次为空。

  • 我什至更新了 VSTS 构建参数,在构建时将变量传递给我的 Docker 文件,从而设置环境变量。同样没有变量传递给正在运行的 Docker 镜像。

我的结论是 Azure Web App for Containers 中不允许自定义环境变量?

难道我做错了什么?

azure node.js docker azure-devops azure-container-registry

6
推荐指数
1
解决办法
1640
查看次数

什么是 Docker 注册服务连接?

此文档之后Docker registry service connection可在以下 YAML 中找到。什么是Docker registry service connection,在哪里可以找到?

trigger:
- master

variables:
  # Container registry service connection established during pipeline creation
  dockerRegistryServiceConnection: <Docker registry service connection>
  imageRepository: <Name of your image repository>
  containerRegistry: <Name of the Azure container registry>
  dockerfilePath: '$(Build.SourcesDirectory)/Dockerfile'
  tag: '$(Build.BuildId)'

  # Agent VM image name
  vmImageName: 'ubuntu-latest'

- task: AzureWebAppContainer@1 # Add this at the end of your file
  inputs:
    azureSubscription: '<Azure service connection>'
    appName: '<Name of the container web …
Run Code Online (Sandbox Code Playgroud)

azure docker azure-devops azure-pipelines azure-container-registry

6
推荐指数
2
解决办法
5304
查看次数

在 Linux 容器上触发的 Azure 函数 HTTP - 函数不起作用 404

我被卡住了,也许你可以帮助我。(更新:经过调查,我知道它不起作用,因为构建/发布后 Azure 函数的 wwwroot 文件夹是空的。主要问题是为什么)

我正在尝试使用 Azure Container Registry (Linux) 发布 Azure Function 这一步我认为我成功了。我确实创建了 CI/CD 管道,并且所有内容都正确发布。

当我进入我的 azure 函数主页时,如:https : //myAzureFuncion.azurewebsites.net/(这只是示例)

我确实看到:

在此处输入图片说明

在开始时函数本身。这没什么特别的,因为我只是想测试 CI/CD 所以它是 AF 模板。我只是将授权更改为匿名(以排除身份验证问题):

        [FunctionName("MyAzureFunctionName")]
        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request. Runned!");

            string name = req.Query["name"];

            string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data = JsonConvert.DeserializeObject(requestBody);
            name = name ?? data?.name;

            return name != null
                ? (ActionResult)new …
Run Code Online (Sandbox Code Playgroud)

azure docker azure-devops azure-functions azure-container-registry

6
推荐指数
1
解决办法
1590
查看次数

如果我们不在应用程序设置中指定密码,Azure Linux 应用服务上的 docker 是否可以使用 ACR 进行身份验证?

我们使用 terraform 将 Linux 应用服务部署到 Azure。相关配置代码为:

resource "azurerm_app_service" "webapp" {
  app_settings = {
    DOCKER_REGISTRY_SERVER_URL              = "https://${local.ctx.AcrName}.azurecr.io"
    DOCKER_REGISTRY_SERVER_USERNAME         = data.azurerm_key_vault_secret.acr_admin_user.value
    DOCKER_REGISTRY_SERVER_PASSWORD         = data.azurerm_key_vault_secret.acr_admin_password.value
    ...
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

问题是 terraform 不考虑app_settings秘密,因此它以明文形式输出DOCKER_REGISTRY_SERVER_PASSWORDAzure DevOps 输出中的值(我混淆了实际值): 在此输入图像描述

所以,我想知道 - 在 Azure Linux 应用服务主机上运行的 docker 是否可以使用相应的 ACR 进行身份验证,而无需我们以一种对每个可以检查管道输出的人都如此明显的方式传递密码?

下面的文章似乎总体上相关 - https://docs.docker.com/engine/reference/commandline/login,但目前还不清楚我们如何在我的上下文中应用它(如果有的话)。

另外,根据https://feedback.azure.com/forums/169385-web-apps/suggestions/36145444-web-app-for-containers-acr-access-requires-admin#%7Btoggle_previous_statuses%7D Microsoft 已开始工作相关的事情,但看起来这仍然是一项正在进行的工作(近 5 个月)。

authentication azure docker terraform azure-container-registry

6
推荐指数
2
解决办法
2505
查看次数

构建 Docker 容器时从私有源恢复 NuGet 包

我们有一个使用 .Net Framework 4.6.2 构建的 Windows 服务应用程序。此 .Net 项目从自定义 Nuget 源引用 Nuget 包。我们需要使用 DevOps 管道构建 docker 映像、将 docker 映像推送到 Azure 容器注册表并将 docker 映像发布到 Azure Kubernetes Services (AKS)。

\n

我\xe2\x80\x99以下面的github示例作为参考并创建了一个docker文件。

\n

https://github.com/mihaitibrea/docker-windows-service/blob/master/WindowsContainer.Wrapper/ServiceWrapper.dockerfile

\n

我\xe2\x80\x99ve在nuget.config中配置了packageSources和PackageSourceCredentials,以便docker能够从自定义提要中提取nuget包。

\n

但是,这种方法需要在个人访问令牌过期后进行更新。

\n

您是否有任何替代解决方案来解决从自定义源恢复 NuGet 的问题?

\n

windows-services docker nuget-package-restore azure-devops azure-container-registry

6
推荐指数
1
解决办法
8918
查看次数