#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
.