我要将docker hub上可用的sonarqube图像和posgres图像推送到我自己的注册表中,出现以下错误:
这是我的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文件中删除了构建步骤,则它什么都不做。
答案 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