如何解决无法在Docker中实现WatchTower
我正在尝试实现Watchtower,如果在Docker映像中发现任何更新,它会自动构建一个容器。
这些是我用于实现watch望塔的命令:
git clone https://github.com/linuxacademy/content-express-demo-app.git守望台
cd守望台/
git checkout dockerfile
docker login -u“ MYDOCKERREPO”
docker image build -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守望台
-总是重启
-v /var/run/docker.sock:/var/run/docker.sock
v2tec / watchtower -i 15
vi .dockerignore
Dockerfile
.git
.gitignore
#在app.js中添加评论
创建了一个sample.js文件
docker image build -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
解决方法
我等了几个小时,但没有任何变化。另外,在推送更新的docker映像时,它没有显示任何已推送。所有人都在说“层已经存在”
这意味着您推送的所有层(变更集)都与已推送的不同,因此不会产生新的哈希。守望台只会在图像发生实际变化时检测并更新。
docker container run -d --name watchtower --restart always \ -v /var/run/docker.sock:/var/run/docker.sock v2tec/watchtower -i 15
您正在使用的图片已超过一年了。它可能(可能不会)与当前的docker版本兼容。 watch望台图像的最新版本可在containrrr/watchtower:latest
上获得。