将docker集装箱升级到最新的图像

我们正在尝试升级docker集装箱到最新的形象。

这是我正在试图遵循的过程。

  1. 比方说,我已经拉动版本1.1的docker图像
  2. 用图像创build容器1.1
  3. 现在我们已经修复了图像1.1的一些问题,并将其上传为1.2
  4. 之后,我想更新容器运行在1.1到1.2

以下是我认为我将遵循的步骤。

  1. 拉最新的图像
  2. 检查docker集装箱获取所有的信息(港口,映射量等)
  3. 停止当前的容器
  4. 删除当前的容器
  5. 使用第2步获取的值创build容器,并使用最新的图像。

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

首先应该做的是:

在生产环境中,有大量的容器,你将失去对docker run命令的跟踪。 为了跟上复杂性,使用docker-compose

首先你需要安装docker-compose 。 为此,请参阅官方文件 。

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

现在做所有这些,当你想升级容器到更新的版本时,你只需要改变yaml文件中的版本,然后执行docker-compose downdocker-compose up

有关更多信息,请参阅撰写文档 。

现在做什么:

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

  • 港口发布。 (主机和容器映射)
  • 使用的networking(名称,驱动程序)
  • 卷装入。 (结合/体积,驱动程序,path)
  • 可能的运行时间命令参数
  • 可能的环境variables
  • 重新启动策略

然后尝试在testing机器上用这些事实创builddocker-compose yaml文件,然后testing您的设置。

当有足够的信心时,将其在生产中滚动,并保持最新的组成yaml供以后参考。