Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将docker容器升级到最新映像_Docker - Fatal编程技术网

将docker容器升级到最新映像

将docker容器升级到最新映像,docker,Docker,我们正在尝试将docker容器升级到最新映像 以下是我试图遵循的过程 假设我已经拉了docker的1.1版图片 使用图像1.1创建容器 现在我们已经修复了图像1.1的一些问题,并将其上传为1.2 之后,我想将运行在1.1到1.2上的容器更新 以下是我认为我将遵循的步骤 获取最新图像 检查docker容器以获取所有信息(端口、映射卷等) 停止当前容器 移除当前容器 使用步骤2中获得的值并使用最新图像创建容器 我面临的问题是,我不知道如何在创建容器时使用“Docker Inspect”命令的输出。首

我们正在尝试将docker容器升级到最新映像

以下是我试图遵循的过程

  • 假设我已经拉了docker的1.1版图片
  • 使用图像1.1创建容器
  • 现在我们已经修复了图像1.1的一些问题,并将其上传为1.2
  • 之后,我想将运行在1.1到1.2上的容器更新
  • 以下是我认为我将遵循的步骤

  • 获取最新图像
  • 检查docker容器以获取所有信息(端口、映射卷等)
  • 停止当前容器
  • 移除当前容器
  • 使用步骤2中获得的值并使用最新图像创建容器

  • 我面临的问题是,我不知道如何在创建容器时使用“Docker Inspect”命令的输出。

    首先应该做什么:

    在有大量容器的生产环境中,您将无法跟踪
    docker run
    命令。为了跟上复杂性,请使用
    docker compose

    首先,您需要安装
    docker compose
    。请参阅

    然后创建一个描述您的环境的
    yaml
    文件。您可以指定多个容器(对于需要多个服务的应用程序,例如
    nginx
    php-fpm
    mysql

    现在,当您要将容器升级到新版本时,只需更改yaml文件中的版本,然后执行
    docker compose down
    docker compose up

    有关更多信息,请参阅

    现在要做什么:

    首先读取
    docker inspect
    输出。然后收集事实:

    • 端口已发布。(主机和容器映射)
    • 使用的网络(名称、驱动程序)
    • 已装入卷。(绑定/卷、驱动程序、路径)
    • 可能的运行时命令参数
    • 可能的环境变量
    • 重新启动策略
    然后尝试在测试机器上用这些事实创建
    docker compose
    yaml文件,并测试您的设置


    如果有足够的信心,在生产中使用它,并保留最新的compose yaml供以后参考。

    我也在考虑同样的步骤。但还是给了一个机会:)谢谢你的回答