以immich的更新为例
需要在root用户下进行
- 进入compose.yaml文件所在的文件夹
cd/volume1/docker/immich
- 停止容器
docker-compose stop
- 拉取新镜像
docker-compose pull
- 拉起镜像
docker-compose up -d
更新完成
也可以创建一个update.sh脚本放在yaml文件同级目录下,执行./update.sh即可完成上述流程
#! /bin/bash
docker-compose stop
docker-compose pull
docker-compose up -d
docker image prune -a -f #删除所有未使用的镜像
更新容器速度比新创建容器快很多,应该是只会拉取有变化的部分。
严格意义上来pull拉取的是新镜像,镜像运行之后才叫容器,并不是直接更新容器。docker-compose stop 命令在help中的解释是停止并删除容器。
如果只是修改yaml文件中的某些参数,则只要【停止容器——修改yaml文件——up拉起】即可。
Composeriz是一个将docker run命令转为yaml文件格式的工具站
docker compose在群晖上的使用也解决了新版本Containter Manager在创建完容器之后无法修改端口等参数的问题,直接在Manager中修改yaml文件然后点击构建即可。
评论区