从较新的镜像重新创建容器

从较新的镜像重新创建容器

所以我很久以前就在 docker 中启动了这个服务,--restart=always它一直在运行。启动时使用的选项要么从未保存到脚本中,要么脚本早已丢失,但 docker 每次重启后都会尽职尽责地重新启动该服务,因此一切正常。

但现在是时候升级服务了。如何使用新映像重新创建容器,以便它获得与创建时在 docker 命令行上定义的相同的环境变量、卷、绑定挂载和所有其他选项(最好还有相同的 IP 地址)?

答案1

为将来

切换到podman,使用正确的 Linux 方式使容器持久化podman generate systemd并且它们将可以通过以下方式轻松更新podman auto-update. 部分标签需按照 的说明粘贴podman auto-update

对于现有容器

  • 从中找出参数docker inspect。参数和入口点与那里的默认值混合在一起,因此如果不清楚哪些参数是非默认值,可能也需要检查图像。
  • 复制出任何卷的内容(如果使用卷而不是绑定挂载)
  • 使用以下方式创建容器podman,使其持久化podman generate systemd然后就可以为将来的更新做好准备了。
  • 极其谨慎地卸载 docker。

相关内容