сторонние репозитории

Посмотреть какие образы есть у нас на локальном репозитории (локальная машина):

docker images

Скачать образ с определённого источника к себе на локальный репозиторий:

docker image pull url

Пример:

docker image pull cr.yandex/crp4a5cge89sqtoqiuhj/elasticsearch:8.19.11

Скачает образ elasticsearch:8.19.11 Аналогично можно скачать другие образы:

docker image pull cr.yandex/crp4a5cge89sqtoqiuhj/memcached:1.6.40-alpine
docker image pull cr.yandex/crp4a5cge89sqtoqiuhj/memcached:1.6.40-alpine
docker image pull cr.yandex/crp4a5cge89sqtoqiuhj/postgres:17.7-alpine
docker image pull cr.yandex/crp4a5cge89sqtoqiuhj/redis:7.4.7-alpine
docker image pull cr.yandex/crp4a5cge89sqtoqiuhj/zammad:6.5.2-85

Данный набор образов соотвествует образам, необоходимым для запуска zammad в контейнере, далее можно скачать например с офф github compose обвязочку для zammad и запустить её

git clone https://github.com/zammad/zammad-docker-compose.git

После перехода в папку, где у нас скачался zammad мы даём команду:

docker compose up -d

В процессе доккер проверит образы и сразу же без дополнительных скачиваний запустит все необходимые контейнеры image alt text image alt text

Частные случаи - читать аккуратно!

Как разрешить docker’у использовать образы с реджистри по http

создать /etc/docker/daemon.json и прописать в нём:

{
    "insecure-registries" : [ "10.0.0.7:5000" ]
}

Как использовать образы с других реджистри

по умолчания докер использует docker.io, если в названии образа не указан домен. т.е. docker pull redis ~= docker pull docker.io/library/redis

чтобы использовать свой реджистри - просто перед названием образа написать свой реджистри: redis:1.1.1 -> 10.0.0.1:5000/redis:1.1.1.1

это название образа - т.е. дописать в начале названия образа в поле image в compose файле (либо заменить существующий домен, в случае ghcr.io)

На тему моего реджистри в клауде

на нем есть следующие образы:

cr.yandex/crp4a5cge89sqtoqiuhj/elasticsearch:8.19.11
cr.yandex/crp4a5cge89sqtoqiuhj/memcached:1.6.40-alpine
cr.yandex/crp4a5cge89sqtoqiuhj/postgres:17.7-alpine
cr.yandex/crp4a5cge89sqtoqiuhj/redis:7.4.7-alpine
cr.yandex/crp4a5cge89sqtoqiuhj/zammad:6.5.2-85

это пример образов, что есть в zammad. Для их использования необходимо заменить образ ghcr.io/zammad/zammad:6.5.2-85 на cr.yandex/crp4a5cge89sqtoqiuhj/zammad:6.5.2-85 (там нет второго /zammad/, это прикол клауда)

На тему зеркал

в /etc/docker/daemon.json можно вписать:

{
  "registry-mirrors": ["https://<my-docker-mirror-host>"]
}

тогда докер будет по умолчанию скачивать с этого зеркала ещё пример замены:

image: ${IMAGE_REPO:-ghcr.io/zammad/zammad}:${VERSION:-6.5.2-85} -> image: cr.yandex/crp4a5cge89sqtoqiuhj/zammad:6.5.2-85