Невозможно реализовать WatchTower в Docker
Я пытаюсь реализовать Watchtower, который автоматически создает контейнер, если в образе Docker обнаружены какие-либо обновления.
Вот команды, которые я использовал для реализации сторожевой башни:
git clone https://github.com/linuxacademy/content-express-demo-app.git watchtower
cd watchtower /
git checkout dockerfile
docker login -u "MYDOCKERREPO"
сборка образа докера -t MYDOCKERREPO / my-express.
docker image push MYDOCKERREPO / my-express
docker container run -d --name watched-app -p 80:3000 - всегда перезапускать MYDOCKERREPO / my-express
docker container run -d --name watchtower--restart always-v /var/run/docker.sock:/var/run/docker.sock
v2tec / watchtower -i 15
vi.dockerignore
Dockerfile
.git
.gitignore
# Добавлен комментарий в app.js
создал файл sample.js
сборка образа докера -t MYDOCKERREPO / my-express --no-cache .
docker image push MYDOCKERREPO / my-express
Я ждал много часов, но изменений не произошло. Кроме того, при отправке обновленного образа докера он не отображал ни одного нажатия. Все говорили: "Слои уже существуют"
Пожалуйста, если кто-то может помочь
РЕДАКТИРОВАТЬ:
Dockerfile:
FROM node
RUN mkdir -p /var/node
ADD . /var/node/
WORKDIR /var/node
RUN npm install
CMD ./bin/www
1 ответ
Я ждал много часов, но изменений не произошло. Кроме того, при отправке обновленного образа докера он не отображал ни одного нажатия. Все говорили: "Слои уже существуют"
Это означает, что ни один из отправленных вами слоев (наборов изменений) не отличался от уже отправленных, и поэтому не было создано никаких новых хешей. Сторожевая башня будет обнаруживать и обновлять только тогда, когда изображение имеет фактические изменения.
docker container run -d --name watchtower --restart always \ -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower -i 15
На данный момент изображению, которое вы используете, больше года. Он может (вероятно, не будет) быть совместим с текущими версиями докеров. Последний выпуск изображения сторожевой башни доступен по адресу
containrrr/watchtower:latest
.