无法使用docker-compose文件将docker映像推送到Azure注册表容器

时间:2020-09-25 15:49:18

标签: azure docker docker-compose azure-pipelines

我要将docker hub上可用的sonarqube图像和posgres图像推送到我自己的注册表中,出现以下错误: enter image description here

这是我的azure-pipelines.yaml文件中的docker compose步骤:

jobs:
  - job: Deploy
    steps:
    - task: DockerCompose@0
      displayName: 'Push services'
      inputs:
        action: 'Push services'
        azureSubscriptionEndpoint: $(mySubscriptionEndpoint)
        azureContainerRegistry: $(myContainerRegistry)
        dockerComposeFile: $(dockerComposeFileSonarQube)

这是我的docker-compose.yaml文件:

version: "3.8"
services:
  sonarqube:
    build: .
    image: "sonarqube:8.2-community"
    depends_on:
      - db
    ports:
      - "9000:9000"
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
      - sonarqube_temp:/opt/sonarqube/temp
  db:
    image: "postgres"
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  sonarqube_temp:
  postgresql:
  postgresql_data:

从错误中,我认为它正在尝试在要推送到的存储库中构建,但是图像还不存在,我要做的是从docker hub存储库中推送图像。 有没有办法做到这一点?如果我从docker-compose.yaml文件中删除了构建步骤,则它什么都不做。

1 个答案:

答案 0 :(得分:1)

您标记了图像吗?

首先,您必须标记Docker映像,

docker tag docker-hello-world_backend sajee.azurecr.io/development/docker-hello-world_backend:1.0

然后您可以按下

docker push sajee.azurecr.io/development/docker-hello-world_backend:1.0