docker

watchtower立即运行一次
docker exec watchtower /watchtower --run-once

sudo docker inspect moviepilot --format
'镜像={{.Config.Image}}
网络={{.HostConfig.NetworkMode}}
重启策略={{.HostConfig.RestartPolicy.Name}}
端口={{json .HostConfig.PortBindings}}'

sudo docker inspect moviepilot --format
'{{range .Mounts}}{{println .Type .Source "->" .Destination}}{{end}}'

🚨 第一步:停止并重命名旧容器
bash
sudo docker stop asterisk
sudo docker rename asterisk asterisk_old
🚨 第二步:重建新容器(复制粘贴整段)
bash
sudo docker run -d
--name asterisk
--network host
--restart unless-stopped
--log-opt max-size=100m
--log-opt max-file=3
-e PUID=0
-e PGID=0
-e DEBIAN_FRONTEND=noninteractive
--volumes-from asterisk_old
andrius/asterisk:22.10.1_debian-trixie
关键点说明:

--network host:和原来一致,直接用主机网络。

--volumes-from asterisk_old:自动继承旧容器的 3 个命名卷(sounds、keys、phoneprov),不用手动指定,也不会丢数据。

--log-opt max-size=100m --log-opt max-file=3:日志限制,单个最多 100M,最多 3 个文件,总共最多 300M。

--restart unless-stopped:和原来一致。

🚨 第三步:验证新容器
bash
sudo docker ps | grep asterisk
看到状态是 Up 就说明启动成功。

🚨 第四步:确认无误后,删除旧容器
bash
sudo docker rm asterisk_old
注意:删除 asterisk_old 不会删除命名卷,因为卷还被新容器使用着。所以数据是安全的。

posted @ 2026-10-13 11:48  knock~  阅读(12)  评论(0)    收藏  举报