Docker
docker-compose部署watchtower
docker-compose部署watchtower
好久没更文了,今天跟大家分享一个docker工具(watchtower),可以检测镜像仓库自动更新docker容器,这样我们可以实现将代码镜像打包推到镜像仓库之后,部署服务器可以同步最新镜像并且重新部署容器。这个工具其实我也找了挺久,因为我之前弄了自动化部署的时候,有一个环节就是重新拉取最新镜像并且重新部署,用的还是ssh方式,多少有点不安全,有了这一个工具就可以完美解决了这个问题,在这里要感谢网友:落叶,这个工具也是他推荐给我的,下面直接分享部署yaml文件。
version: "3" services: watchtower: image: containrrr/watchtower restart: always container_name: watchtower_compose environment: - TZ=Asia/Shanghai # 设置时区 - WATCHTOWER_CLEANUP=true # 更新后移除旧的镜像 - WATCHTOWER_POLL_INTERVAL=30 # 镜像检测时间间隔30秒 volumes: - /var/run/docker.sock:/var/run/docker.sock - /root/.docker/config.json:/config.json - /etc/localtime:/etc/localtime:ro command: ['docker_go_gin_compose']
下面简单跟大家讲解下各配置项
参数项
environment: - TZ=Asia/Shanghai # 设置时区 - WATCHTOWER_CLEANUP=true # 更新后移除旧的镜像 - WATCHTOWER_POLL_INTERVAL=30 # 镜像检测时间间隔30秒 设置了时区是上海时区,同时设置每次更新后移除旧的镜像,这样不会造成过往镜像一直留在服务器,同时设置检测间隔时间30秒,大家可以根据自己需求进行设置。
文件映射
volumes: - /var/run/docker.sock:/var/run/docker.sock - /root/.docker/config.json:/config.json - /etc/localtime:/etc/localtime:ro 由于我的仓库是在阿里云仓库,所以我们需要将/root/.docker/config.json映射进容器config.json文件,这样可以保存我们的镜像仓库登陆令牌,防止拉取镜像失败
指定监测容器配置
command: ['docker_go_gin_compose'] 这里我们监测容器名为docker_go_gin_compose,会监控这个容器名对应镜像是否有更新,有更新的话,会自动拉取最新镜像重新部署,想要查看容器名,可以通过docker ps -a命令查看
然后我们执行以下命令进行部署
docker-compose up -d
这样我们便完成了部署,下期跟大家讲解下docker自动化部署
0条评论