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.