Образы контейнеров службы приложений Azure принудительно извлекаются из Docker Hub вместо ACR

Поддерживает ли служба приложений Azure только изображения, хранящиеся в Docker, если они определены с помощью Docker Compose Preview.

Мои образы хранятся в Реестре контейнеров Azure (ACR). Тем не менее, когда я обращаюсь к своему изображению, хранящемуся в ACR, с помощью предварительного просмотра Docker compose, он вместо этого пытается извлечь изображения из Docker Hub, registry-1.docker.io, где они не хранятся, и терпит неудачу.

DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://registry-1.docker.io/v2/dev/my_container/manifests/latest: unauthorized: incorrect username or password"}

version: '3.3'
services:
  container_one:
    image: "dev/container_one"
    ports:
      - "80:80"
    restart: always
  container_two:
    image: "dev/container_two"
    ports:
      - "81:81"
    restart: always

введите здесь описание изображения


person greg    schedule 23.05.2020    source источник
comment
Вы должны включить ссылку на свой ACR   -  person Hong Ooi    schedule 23.05.2020
comment
В теге изображения правильно? Что-то вроде image: "my.azurecr.io/dev/container_one", верно?   -  person greg    schedule 23.05.2020
comment
Да, вам нужно включить имя репозитория ACR перед фактическим изображением, иначе он будет по умолчанию извлечен из Docker Hub - это не работает, когда вы обновляете ссылки на изображения container_one и container_two на image: "my.azurecr.io/dev/container_one"?   -  person Agraj    schedule 25.05.2020
comment
Перейдите в свой ACR и щелкните свой тег изображения, он покажет вам ссылку на артефакт, которую вам нужно установить в качестве значения для изображения.   -  person Charles Xu    schedule 25.05.2020
comment
Спасибо всем, включая полную ссылку на ACR, исправившую проблему.   -  person greg    schedule 25.05.2020


Ответы (1)


Мне нужно было включить полную ссылку на мой ACR. На основе комментария Хон Оои.

Использование my.azurecr.io/dev/container_one решило мою проблему. Моя полная конфигурация теперь выглядит так:

version: '3.3'
services:
  container_one:
    image: "my.azurecr.io/dev/container_one"
    ports:
      - "80:80"
    restart: always
  container_two:
    image: "my.azurecr.io/dev/container_two"
    ports:
      - "81:81"
    restart: always
person greg    schedule 28.05.2020
comment
Вы спасли меня. Я потратил много часов, чтобы понять, почему он использовал Docker Hub - person Ayush P Gupta; 12.06.2021