Докерская сторожевая башня с личным реестром
Я хочу запустить сторожевую башню докера, чтобы автоматически обновлять мои док-контейнеры всякий раз, когда я помещаю новую версию в свой личный реестр.
Однако сторожевая башня не находит контейнеры в моем личном реестре.
Кто-нибудь знает, как запустить сторожевую башню с личным реестром докеров?
1 ответ
Сопровождающий и разработчик Сторожевой Башни здесь. На самом деле у нас есть поддержка использования частных реестров. Это делается с использованием полного имени в качестве имени изображения, т.е. example.com/my-org/my-image:my-tag
, а также монтирование config.json в корне контейнера сторожевой башни.
См. Документы, в частности https://containrrr.github.io/watchtower/usage-overview/
Документы, вероятно, могут быть более четкими, и если вы хорошо справляетесь с задачей, не стесняйтесь ее улучшать, как только она заработает.
Спасибо симон
В настоящее время Сторожевая башня поддерживает только частный реестр Docker Hub, а не сторонние реестры, такие как Quay или Gitlab.
Альтернативой может быть использование чего-то вроде webhook и включение HTTP-запроса к конечной точке с любой используемой вами платформы CI/CD.
Таким образом, вместо проверки обновлений, вы можете пропинговать конечную точку всякий раз, когда вносятся изменения, и автоматически обновлять. Это скорее толчок, чем тяга, но он может достичь аналогичного эффекта.
Пример сценария для чего-то вроде запуска веб-сервера может быть:
#!/bin/bash
docker pull [your-registry][repo]:latest
docker stop [repo-name]
docker rm [repo-name]
docker run -d --name [repo-name] -p 80:4000 --restart always [your-registry][repo]:latest
Это не самый лучший способ развертывания. Возможно, вам лучше использовать в производстве специального поставщика CI/CD, который может лучше организовать конвейер сборки, тестирования и развертывания. Но это быстрый и грязный способ порождать промежуточный сервер.