Как создать файл docker-compose.yml с публичными и приватными изображениями? - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь создать файл docker-compose.yml для конкретной команды разработчиков на работе.Я поместил наши личные изображения в личный реестр (реестр контейнеров Azure), и это нормально / работает:)

Далее я пытаюсь проверить, как заставить разработчиков этой конкретной команды запускатьdocker-compose файл, который будет опускать все изображения, а затем запускать их все.

Я понял, что разработчики должны будут сделать это:

-> docker login -u <admin username of my registry> <domain of the registry>
-> docker-compose pull

Это опускает мойчастные изображения (из личного реестра ACR), но не любые изображения в Docker Hub (открытый реестр).

  • Q1: возможно ли смешивать и сопоставлять?
  • Q2:Есть ли другой способ сделать «пользователя», который только ЧИТАЕТ.Я читал кое-что о service accounts или о чем-то, но это действительно сбивает с толку, и я понятия не имею, как это сделать / если это правильный путь.

Вотсниппет мой образец docker-compose файл, который содержит как публичные, так и приватные изображения.Обратите внимание, как я пытаюсь полностью определить изображения доменов ...

version: '3.5'

services:

ravendb.data:
  image: hub.docker.com/ravendb/ravendb
  expose: 
    - "8080"
  networks:
    - backend
  container_name: ravendb.data
  labels:
    - "traefik.enable=false"

accounts.api:
  image: <snip>.azurecr.io/<snip>/<snip>
  networks:
<rest all snipped>

1 Ответ

0 голосов
/ 03 декабря 2018

Q1 - две проблемы, в некоторой степени связанные -

  1. Полное доменное имя реестра Docker Hub неверно в директиве RavenDB image - hub.docker.com - это удобный для чтения веб-сайт, общедоступный DockerРеестр находится по адресу registry.hub.docker.com или index.docker.io (добавьте v1 к этим URI для получения API).

  2. Вам не нужно полное полное доменное имя открытого реестра, чтобы извлечь изПубличный реестр - по умолчанию, и команды Docker по умолчанию извлекают его, если не обнаруживают полное доменное имя в теге изображения, предшествующем имени изображения.

Q2 - I'mНе знаю, как работает реестр контейнеров Azure, но я был бы удивлен, если бы вы не смогли создать пользователя только для чтения.Обычный реестр - это API-сервер на основе REST, и им можно управлять либо путем установки его разрешений внутри, либо путем установки обратного прокси-сервера перед ним с помощью глаголов POST / PUT / DELETE и PATCH, требующих другого пользователя с аутентификацией для глагола GET.

...