Невозможно реализовать сторожевую башню в Docker

#docker #dockerfile #docker-watchtower

#docker #dockerfile #docker-сторожевая башня

Вопрос:

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

Это команды, которые я использовал для реализации сторожевой башни:

мерзавец клон https://github.com/linuxacademy/content-express-demo-app.git сторожевая башня

cd сторожевая башня/

git проверяет dockerfile

вход в docker -u «MYDOCKERREPO»

сборка образа docker -t MYDOCKERREPO /my-express .

docker image push MYDOCKERREPO / my-express

запуск контейнера docker -d —просмотренное имя-app -p 80:3000 — всегда перезапускайте MYDOCKERREPO / my-express

запуск контейнера docker -d —имя сторожевой башни —перезапуск всегда -v /var/run/docker.sock:/var/run/docker.носок
v2tec/сторожевая башня -i 15

vi .докеригнор


 Dockerfile
 .git
 .gitignore
  

#Добавлен комментарий в app.js

создал sample.js файл

сборка образа docker -t MYDOCKERREPO/my-express —no-cache .

docker image push MYDOCKERREPO / my-express

Я ждал много часов, но никаких изменений не последовало. Также при нажатии обновленного изображения docker не было показано ни одного нажатия. Все говорили «Слои уже существуют»

Пожалуйста, если кто-то может помочь


Редактировать:

Dockerfile:

 FROM node 
RUN mkdir -p /var/node 
ADD . /var/node/ 
WORKDIR /var/node 
RUN npm install 
CMD ./bin/www
  

Комментарии:

1. можете ли вы поделиться своим файлом Dockerfile?

2. С узла ЗАПУСТИТЕ mkdir -p /var/node ADD . /var/node/ WORKDIR /var/node ЗАПУСТИТЕ npm, установите CMD ./bin/www

3. Немного сбивает с толку то, что вы также назвали папку своего приложения watchtower . Мне потребовалось некоторое время, чтобы прийти в себя! 😅

Ответ №1:

Я ждал много часов, но никаких изменений не последовало. Также при нажатии обновленного изображения docker не было показано ни одного нажатия. Все говорили «Слои уже существуют»

Это означает, что ни один из введенных вами слоев (наборов изменений) не отличался от уже введенных, и поэтому никаких новых хэшей создано не было. Сторожевая башня будет обнаруживать и обновлять только тогда, когда изображение имеет фактические изменения.

 docker container run -d --name watchtower --restart always 
   -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower -i 15
  

На данный момент используемому вами изображению больше года. Это может быть (скорее всего, не будет) совместимо с текущими версиями docker. Последняя версия образа сторожевой башни доступна по адресу containrrr/watchtower:latest .