将docker集装箱升级到最新的图像
我们正在尝试升级docker集装箱到最新的形象。
这是我正在试图遵循的过程。
- 比方说,我已经拉动版本1.1的docker图像
- 用图像创build容器1.1
- 现在我们已经修复了图像1.1的一些问题,并将其上传为1.2
- 之后,我想更新容器运行在1.1到1.2
以下是我认为我将遵循的步骤。
- 拉最新的图像
- 检查docker集装箱获取所有的信息(港口,映射量等)
- 停止当前的容器
- 删除当前的容器
- 使用第2步获取的值创build容器,并使用最新的图像。
我面对的问题是我不知道如何在创build容器时使用“Docker Inspect”命令的输出。
首先应该做的是:
在生产环境中,有大量的容器,你将失去对docker run
命令的跟踪。 为了跟上复杂性,使用docker-compose
。
首先你需要安装docker-compose
。 为此,请参阅官方文件 。
然后创build一个yaml
文件,描述你的环境。 您可以指定多个容器(对于需要多个服务的应用程序,例如nginx
, php-fpm
和mysql
)
现在做所有这些,当你想升级容器到更新的版本时,你只需要改变yaml文件中的版本,然后执行docker-compose down
和docker-compose up
。
有关更多信息,请参阅撰写文档 。
现在做什么:
首先阅读docker inspect
输出。 然后收集事实:
- 港口发布。 (主机和容器映射)
- 使用的networking(名称,驱动程序)
- 卷装入。 (结合/体积,驱动程序,path)
- 可能的运行时间命令参数
- 可能的环境variables
- 重新启动策略
然后尝试在testing机器上用这些事实创builddocker-compose
yaml文件,然后testing您的设置。
当有足够的信心时,将其在生产中滚动,并保持最新的组成yaml供以后参考。
- Docker IPAddress空:无法访问容器
- 是否可以将一个Docker镜像直接部署到AWS?
- 混合应用程序中没有使用ion3上的keycloakauthentication
- 有没有人有一个Dockerfile和命令行从Linux的外部目录挂载到泊坞窗图像工作简单的例子?
- 如何在Dockerfile RUN中使用pipe道(ioredirection)?
- docker呼叫程序(nodejs)从另一个容器(主pipe)
- TestContainers Oracle TimeoutException
- 如何通过Artifactory API获取dockerTag标签?
- 在docker容器中没有使用ng生成的文件的写入权限