CIDC с BitBucket, Docker Image и Azure

Я изучаю CICD и Docker. На данный момент мне удалось успешно создать образ docker, используя приведенный ниже код:

Dockerfile

# Docker Operating System
FROM python:3-slim-buster

# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1

# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1

#App folder on Slim OS
WORKDIR /app

# Install pip requirements
COPY requirements.txt requirements.txt
RUN python -m pip install --upgrade pip pip install -r requirements.txt

#Copy Files to App folder
COPY . /app

docker-compose.yml

version: '3.4'

services:
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    ports:
      - 8000:8000

Мой код находится на BitBucket, и у меня есть файл конвейера следующим образом:

bitbucket-pipelines.yml

image: atlassian/default-image:2

pipelines:
  branches:
    master:
      - step:
          name:
            Build And Publish To Azure
          services:
            - docker
          script:
            - docker login -u $AZURE_USER -p $AZURE_PASS xxx.azurecr.io

            - docker build -t xxx.azurecr.io .
            - docker push xxx.azurecr.io

При этом xxx является реестром контейнеров в Azure. При запуске задания конвейера я получаю ошибку denied: requested access to the resource is denied на BitBucket.

Что я сделал неправильно?

Спасибо.

Обновите свойство image в файле docker-compose.

Префикс имени образа с именем сервера входа в систему вашего реестра контейнеров Azure, .azurecr.io. Например, если ваш реестр называется myregistry, имя сервера входа будет myregistry.azurecr.io (все строчные буквы), а свойство образа будет myregistry.azurecr.io/azure-vote-front. Измените сопоставление портов на 80:80. Сохраните файл. Обновленный файл должен выглядеть следующим образом:

yml

Copy
version: '3'
services:
  azure-vote-back:
    image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
    container_name: azure-vote-back
    environment:
      ALLOW_EMPTY_PASSWORD: "yes"
    ports:
        - "6379:6379"

  azure-vote-front:
    build: ./azure-vote
    image: myregistry.azurecr.io/azure-vote-front
    container_name: azure-vote-front
    environment:
      REDIS: azure-vote-back
    ports:
        - "80:80"

Благодаря этим заменам образ azure-vote-front, который вы создадите на следующем этапе, будет помечен для вашего реестра контейнеров Azure, и образ можно будет запустить в Azure Container Instances.

Подробнее в документации

Вернуться на верх