如何得到docker合成总是从新鲜的图像重新创build容器?

我的docker图像build立在Jenkins CI服务器上,并被推送到我们的私人dockerregistry。 我的目标是configurationdocker-compose环境,它始终启动图像的原始状态。 我目前在不同的机器上使用docker-compose 1.3.2和1.4.0,但我们以前也使用旧版本。 我总是使用docker-compose pull && docker-compose up -d命令从registry中获取新图像并启动它们。 我相信我的首选行为在某个时间点能按预期工作,但是从那以后, docker-compose up开始重新运行以前停止的容器,而不是每次启动原始的图像。 有没有办法摆脱这种行为? 那么可以通过docker-compose.ymlconfiguration文件中的每一个调用来在命令行上不依赖于“不会忘记”的东西吗? PS。 除了find一个方法来实现我的目标,我也很想了解这个行为的背景。 我认为Docker的基本思想是构build一个不可变的基础架构。 docker的构成现在的行为只是似乎与这种方法的普通冲突..或者我错过了这里的一些观点?

如何将卷添加到现有的Docker容器?

我有一个Docker容器,我简单地通过在Ubuntu上安装Docker来创build: sudo docker run -i -t ubuntu /bin/bash 我立即开始安装Java和一些其他工具,花一些时间和它停止了容器 exit 然后,我想添加一个音量,并意识到这不像我想的那样简单。 如果我使用sudo docker -v /somedir run …那么我最终将得到一个新的容器,所以我将安装Java,并执行之前完成的工作,然后才能到达装入卷的容器。 所有有关从主机安装文件夹的文档似乎暗示了安装卷是创build容器时可以完成的。 所以我必须避免从头开始重新configuration一个新的容器,唯一的办法就是将现有的容器提交到一个存储库,并在安装时使用它作为新容器的基础。 这确实是将卷添加到现有容器的唯一方法吗?

将文件从Docker容器复制到主机

我正在考虑使用docker在CI服务器上构build我的依赖项,这样我就不必在代理本身上安装所有的运行时和库。 为了达到这个目标,我需要将构build在容器内部的构build工件复制回主机。 那可能吗?