之前一直用 Docker 部署一些开源的应用,例如青龙面板等。后来发现用 Docker 部署的应用后期进行版本更新的时候比较麻烦,需要找到确定容器名称,找到容器映射的本地目录,备份数据,拉取最新的镜像然后重新创建容器。

详见 Docker更新容器镜像的三种方法。本懒狗果断改用 Docker-compose 来维护自己的容器。

Alist 的 Docker-compose.yml 文件为例,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'

更新应用只需要如下三步:

1
2
#进入到你docker-compose所在的文件夹下,执行
docker-compose pull
1
2
#重启你的容器
docker-compose up -d --remove-orphans
1
2
#删除掉旧的镜像(可选)
docker image prune